「環境光」の版間の差分

編集の要約なし
 
13行目: 13行目:
* [[定数バッファ]]で環境光の「色」と「明るさ」を送り込んで、
* [[定数バッファ]]で環境光の「色」と「明るさ」を送り込んで、
* [[ピクセルシェーダー]]で単純に全[[ピクセル]]に加算する。
* [[ピクセルシェーダー]]で単純に全[[ピクセル]]に加算する。
<source lang="cg">
float  AmbientStrength;
float3 AmbientColor;
struct VSOutput {
    float4 Position: SV_POSITION;
    float4 Color  : COLOR0;
};
float4 PSFunc(VSOutput input) : SV_TARGET
{
    // 強さと色を掛けて
    float3 ambient = AmbientStrength * AmbientColor;
   
    // 頂点色と掛ける(テクスチャを使う場合はサンプリング色と掛ける)
    float3 result = input.Color * ambient;
    return float4(result,1);
}
</source>


もう少し上を目指す場合は[[アンビエントオクルージョン]]という手法を使う。途端に複雑になるぞ。
もう少し上を目指す場合は[[アンビエントオクルージョン]]という手法を使う。途端に複雑になるぞ。