Direct3D Tutorial Win32 Sample 詳解 - 7

實現效果:
在cube上實現紋理映射
在這裏插入圖片描述
process:
將紋理座標附加到頂點信息中;
使用工具將JPG等圖片轉化爲DDS格式;

使用DDSTextureLoader module加載DDS,得到ID3D11ShaderResourceView。
填充D3D11_SAMPLER_DESC來創建ID3D11SamplerState
着色器代碼如下:

Texture2D txDiffuse : register( t0 );
SamplerState samLinear : register( s0 );
//--------------------------------------------------------------------------------------
// Pixel Shader
//--------------------------------------------------------------------------------------
float4 PS( PS_INPUT input) : SV_Target
{
    return txDiffuse.Sample( samLinear, input.Tex ) ;
}

如果將紋理作爲材質與光照混合,可以採用如下公式:

litColor = texColor*(ambient + diffuse) + spec;

鏡面光仍採用原光色,環境光和漫反射光采用紋理反射後的顏色。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章