Directx9镜面映射

时间:2010-02-23 05:59:08

标签: c++ directx textures specular

如何实现加载纹理以用作几何体的高光贴图并使用C ++在Directx9中渲染它?

我可以参考哪些教程或基本示例?

1 个答案:

答案 0 :(得分:6)

使用D3DXCreateTextureFromFile从磁盘加载文件。然后,您需要设置一个着色器,将镜面反射值乘以纹理中存储的值。这为您提供了镜面反射颜色。

所以你最终的像素来自

Final = ambient + (N.L * texture colour) + (N.H * texture specular)

您可以在着色器中轻松完成此操作。

还值得注意的是,在纹理的alpha通道中存储每个纹素镜面反射镜非常有用。这样你只需要一个纹理,虽然它确实打破了每像素的透明度。