KMSTATUS kmSetFogDensity( FogDensity )
KMDWORD FogDensity
FogDensity (入力)テーブルフォグ係数
KMSTATUS_SUCCESS 成功
テーブルフォグの係数(スケールファクタ)を与えます。PowerVR2DCには0〜127の128段階のフォグテーブルがあります。 引数 FogDensityには、この128個のそれぞれのフォグテーブルを奥行き値のどの範囲に対応させるかを指定します。 指定する値が小さければ小さいほど、より手前(1/wが大きいポリゴン)のほうからFogの効果が得られます。 逆に大きな値を指定すると、奥(1/wが小さなポリゴン)のほうにしかFogの効果は得られなくなります。
引数 FogDensityのサイズは2byteで、上位バイトが仮数部、下位バイトが指数部(2のn乗)を示します。
例)
0x0100 = 0.0000001(b) = 0.015625
0x8000 = 1.0(b) = 1.0
0xFF00 = 1.1111111(b) = 1.984375
0xFF01 = 11.111111(b) = 3.96875
0xFF06 = 1111111.1(b) = 128.5
0xFF07 = 11111111.0(b) = 255
0xFF08 = 111111110.0(b) = 510
0xFF09 = 1111111100.0(b) = 1020
0xFF0A = 2040
0xFF0B = 4080
0xFF0C = 8160
引数 FogDensityの値は kmGenerateFogTable()関数を実行することで、 フォグテーブルの内容とともに自動的に生成することができます。詳細は kmGenerateFogTable()関数、kmConvertFogDensity()関数、kmSetFogTable()関数の説明を参照してください。
kmGenerateFogTable() フォグテーブルの自動生成 kmConvertFogDensity() フォグ係数の変換 kmSetFogTable() フォグテーブルの設定