G3X_SetFog

構文

#include <iris/gx/g3x.h>
void G3X_SetFog( BOOL enable,
GXFogBlend fogMode,
GXFogSlope fogSlope,
int fogOffset
);

引数

enable フォグを有効にするかどうかを設定します。
fogMode α値に加えてカラーにもフォグをかけるかどうかを設定します。
fogSlope フォグのかかり方の勾配を設定します。
fogOffset フォグ計算が開始されるデプス値を設定します。

返り値

なし。

説明

フォグの有効/無効の設定と、フォグのかけかたの設定をします。GXFogSlope型のシンボルの末尾の数字は、一般に値が大きいほどフォグのかかり方が緩やかだということを表します。つまり、この値をxとすると、デプス値が、fogOffsetからfogOffset + xまでにかけてフォグが段階的に濃くなっていく(参照するフォグテーブルのインデックスが大きくなっていく)ことになります。

GX_FOGBLEND_COLOR_ALPHA ピクセルのカラー値とα値にフォグブレンディング
GX_FOGBLEND_ALPHA ピクセルのα値のみにフォグブレンディング

GX_FOGSLOPE_0x8000 フォグがデプス値で0x8000の幅で段階的に濃くなっていきます。
GX_FOGSLOPE_0x4000 フォグがデプス値で0x4000の幅で段階的に濃くなっていきます。
GX_FOGSLOPE_0x2000 フォグがデプス値で0x2000の幅で段階的に濃くなっていきます。
GX_FOGSLOPE_0x1000 フォグがデプス値で0x1000の幅で段階的に濃くなっていきます。
GX_FOGSLOPE_0x0800 フォグがデプス値で0x0800の幅で段階的に濃くなっていきます。
GX_FOGSLOPE_0x0400 フォグがデプス値で0x0400の幅で段階的に濃くなっていきます。
GX_FOGSLOPE_0x0200 フォグがデプス値で0x0200の幅で段階的に濃くなっていきます。
GX_FOGSLOPE_0x0100 フォグがデプス値で0x0100の幅で段階的に濃くなっていきます。
GX_FOGSLOPE_0x0080 フォグがデプス値で0x0080の幅で段階的に濃くなっていきます。
GX_FOGSLOPE_0x0040 フォグがデプス値で0x0040の幅で段階的に濃くなっていきます。
GX_FOGSLOPE_0x0020 フォグがデプス値で0x0020の幅で段階的に濃くなっていきます。


以下に引数に使用される列挙型の型定義を示しておきます。

typedef enum
{
    GX_FOGBLEND_COLOR_ALPHA = 0,
    GX_FOGBLEND_ALPHA = 1
}
GXFogBlend;

typedef enum
{
    GX_FOGSLOPE_0x8000 = 0,
    GX_FOGSLOPE_0x4000 = 1,
    GX_FOGSLOPE_0x2000 = 2,
    GX_FOGSLOPE_0x1000 = 3,
    GX_FOGSLOPE_0x0800 = 4,
    GX_FOGSLOPE_0x0400 = 5,
    GX_FOGSLOPE_0x0200 = 6,
    GX_FOGSLOPE_0x0100 = 7,
    GX_FOGSLOPE_0x0080 = 8,
    GX_FOGSLOPE_0x0040 = 9,
    GX_FOGSLOPE_0x0020 = 10
}
GXFogSlope;

参照

G3X_SetFogColor, G3X_SetFogTable

履歴

Ver. 2004/01/19