Archives

28 October 2006 の記事

2006/10/28
WZ モバイル β2

ダイアログやメニューなど、前回かなり遅かった部分が早くなりました。
メニュー操作も [←] でキャンセルできるなど自然な感じで操作できる
ようになっています。

ダイアログを閉じるときも、右下に「×」が表示されていてソフトキー2で
閉じるんだとはっきりわかるようになっています。

修正のペースからもいかにも最後の追い込みといった感じです。

USBの外付けキーボードで、メモや議事録のテキスト入力用として使っている
自分にはもう十分な感じです。こんな特殊な用途ですが PWZ3 + patch から
改善されるのは以下の点でしょうか。

・改行、TAB、全角空白などのマーク表示が VGA 画面に合わせたハイレゾになる
・メニューやメニューバーのフォントも VGA サイズで小さく細くできる
・メニューなどの操作が片手だけでできるようになる

これ以外は PWZ3 で満足していたので・・全然使いこなしてないですね


DirectX は当初ものすごい勢いでバージョン番号が更新されていきました。
途中 X4 が抜けているものの、DirectX2~7 までがわずか 4年。
ところが Shader が登場した DirectX8 以降はそのペースが落ちます。

特に DirectX9 は 2002年に登場してから 4年間も使われていることになります。

以前はリアルタイム3Dのテクノロジの更新が API に直結しており、ハードウエアの
進化や新機能の追加は Direct3D API の刷新が必要でした。

ところが今では D3D API ではなく、シェーダー機能の拡張そのものにハードのパワー
が注がれるようになっています。

「シェーダーが必要なわけ」
でも書いたように、もはや 3D アルゴリズムの進化とハードウエアの拡張は別物です。

ソフトウエア技術者はシェーダーという自由の中で、アクセラレータの恩恵を受け
つつさまざまなアルゴリズムを開拓することができます。

そしてハードウエアメーカーは GPU の汎用的なシェーダーパワーの拡充に専念する
ことができるわけです。

もうすぐ Direct3D10 とともに ShaderModel4.0 が登場します。

ハードウエアの都合に強く依存していたシェーダーの仕様は、徐々にその影響力を
弱めています。ますます汎用的になっています。

レンダリングのアルゴリズムは、ハードウエアロジックではなくプログラマに委ねら
れているわけです。さらに近い将来、プログラマではなくグラフィックデザイナー
範疇に含まれるようになるかもしれません。


一般的に画像データは RGB の各色を 0~255 の 256段階で持ちます。RGBがそれぞれ
256段階なので、256×256×256 = 16777216 のおよそ 1677万色の表現が可能です。
これを 24bit カラーといったりフルカラー画像と呼ぶことがありました。

フレームバッファも最終的には 24bit カラーなので、リアルタイムレンダリングの
ピクセルカラー演算も 0~255 の 8bit 整数が使われていました。

ShaderModel2.0 以降、PixelShader 内部は 24~32bit の浮動少数点演算に拡張され
ています。モニタへの出力は 1677万色なので、色数を見たらフルカラーを超えて
おりオーバースペックです。

PixelShader の演算はベクトルや座標値など、もはやカラーの値だけでは済まない
からです。

またカラー値そのものも HDR で持つことが多くなりました。演算中は自然界の数値
を模した高いダイナミックレンジを保っておき、最終的にモニタに出力する直前に
人間の可視範囲で切り取るわけです。

3D のワールドマップ上でキャラクタやオブジェクトを動かしておき、任意のカメラ
で見える範囲をレンダリングするのに似ています。

自然界の微弱なものから強烈な光まで、幅広い光の中から任意のカメラで好きな
部分を「可視可能な領域」としてレンダリングできるようになります。


ブルーとかオレンジとかゴールドとか
料金プランの種類があまりに多くて複雑で混沌としているので、
その中からどれが自分の使い方で一番安くなるか
シミュレートしながらいろいろ計算してみるのが結構楽しいです。
アセンブラの最適化をしているような感じです。