本文主要是介绍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;
镜面光仍采用原光色,环境光和漫反射光采用纹理反射后的颜色。
这篇关于Direct3D Tutorial Win32 Sample 详解 - 7的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!