用Direct3D画一个立方体,怎么渲染6个面不同的纹理,求解答
答案:2 悬赏:0 手机版
解决时间 2021-04-08 02:38
- 提问者网友:欲望失宠
- 2021-04-07 16:54
用Direct3D画一个立方体,怎么渲染6个面不同的纹理,求解答
最佳答案
- 五星知识达人网友:拾荒鲤
- 2021-04-07 17:27
将6个纹理加载到TEX0~5上,每画一个面换一种。
全部回答
- 1楼网友:酒安江南
- 2021-04-07 17:45
立方体有六个面,每个面需要两个三角面片,所以当用三角序列表示的时候,一共知道36个顶点的信息,6 * 2 * 3.
但是立方体顶点只有8个,这36个顶点里面很多信息是会重复的,所以我们会用顶点索引的方式告诉硬件顶点信息。
程序一里用8个顶点,你会发现这八个顶点信息包含位置和颜色信息,程序一只想画一个有着简单色彩的立方体,所以8个顶点足够了。
程序二的顶点信箱里面包含了位置信息,法向(你会发现每个面的值都是一样的)信息,和纹理坐标信息。当一个顶点被不同的面共享时,法向有可能是不同的,而且对于不同面,顶点的纹理坐标值是不同的,所以程序二根据每个面定义顶点信息。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯