我完全是DirectX(11)的新手,所以这个问题将是非常基本的。对不起。
我想在屏幕上绘制一个有着纯色面孔的立方体。我见过的所有例子都有8个顶点,每个顶点都有一个颜色(红色,绿色,蓝色)。然后,像素着色器在这些顶点之间进行插值,以提供一系列颜色。这看起来不错,但不是我想要达到的目标。我只喜欢一个有六个彩色面孔的立方体。
我想到了两个想法:
实现这种效果的典型/规范方法是什么?我确信这个“问题”已经解决过很多次了。
答案 0 :(得分:1)
对于您的特定问题,顶点着色可能是最简单和最佳的解决方案。但是你的模型越复杂就越难以创建一个合适的顶点着色,因为你并不总是希望将你的想象力限制在底层几何体中。
通常,3D对象使用一个或多个纹理着色。因此,您可以创建一个UV-Mapping(wiki),它可以将三维曲面展开到2D平面(纹理)上。现在,您可以在对象上想要颜色的任何分辨率下自由绘画,这样您就可以最自由地使模型看起来像您想要的那样。
当然每个应用程序都有自己的特性,所以有些项目会选择另一种方法,但我认为这是最流行的模型着色方式。
答案 1 :(得分:1)
选项1是以下方式:
注意事项: