如何将不同的纹理应用于多个基元? (Direct3D 9)

时间:2013-11-25 22:29:05

标签: graphics directx direct3d

我正在创建一个游戏,其中每个原语都需要自己的纹理,但我似乎无法弄清楚如何。我在谷歌搜索但它只显示有关纹理混合的结果。你能告诉我如何在多个非索引基元上应用多个纹理吗?或者他们是否必须编入索引?

2 个答案:

答案 0 :(得分:1)

您可以通过在每个DrawPrimitives之前调用SetTexture来更改纹理。

答案 1 :(得分:0)

我认为使用UV atlas可以解决您的问题。地图集基本上是由较小纹理组成的大纹理,如照片拼贴。顶点的UV坐标当然是指大纹理,但如果你知道“小”纹理的位置,这很容易计算。
当然,你必须首先创建那个atlas纹理。

相关问题