DX11纹理习题解答
题目一:尝试在使用Geomotry::MeshData创建的立方体网络数据(不能对其修改)的基础上,让立方体的六个面使用不同的纹理绘制
原理:将每个面绘制所需的索引对应上想要的纹理, 一次绑定一个纹理并渲染一个面 。
主要代码改动如下:
题目二: 使用教程项目第26章Texture文件夹中的flare.dds和flarealpha.dds,在着色器中通过分量乘法实现然后让纹理在立方体的表面旋转(考虑对纹理坐标的变换),纹理采样器的寻址模式使用BORDER_COLOR,边界色为黑色。
原理: 纹理坐标的变换与二维坐标变换类似,但是在习题中,纹理是按照纹理图像的中心旋转的,如果直接旋转纹理坐标的z轴,那结果会变成纹理按照左上角坐标轴原点旋转,所以就要做些修改。
方法是先把图像移动到坐标轴原点,再旋转,然后再反向移动回去。