简而言之:
网格- 它只是您想要绘制的一些对象,例如汽车。它可以由许多子对象构建,但为了简单性和易用性,它被实现为一个包含您所需的所有对象的对象。例如:当您想将一辆汽车放在您的水平面上时,您通常不想单独放置每个车轮/轮胎 - 因此您只有一个网格:“一辆汽车”。
子网格- 当您渲染一些多边形列表时,您需要在开始渲染之前设置某种执行操作的方式(这称为材质)。这意味着您在单个渲染操作期间不能使用多种材质。因为汽车是由许多不同的材料制成的,例如玻璃、金属等,所以您需要将其划分为子网格。您将拥有用于窗户、轮胎、车轮和车身的子网格 - 每个子网格都将使用不同的材料,如玻璃、橡胶、铝等,并且每个子网格都将在不同的渲染操作中进行渲染,并选择不同的材料。因此材质定义并不存储在网格对象中,而是存储在每个子网格中。
材质- 它是“向屏幕添加新三角形时要做什么”的定义,它可能因引擎和底层 API 版本而异,但它只存储您可以为材质设置的所有参数,例如不透明度、光泽度、颜色(纹理) )、像素/顶点着色器等。
纹理- 材质可以使用图像作为输入 2D/3D 数据。当您读取材质定义时,它会定义图像文件名,读取图像并将其放入 GPU 中并分配一些 ID。稍后,当您选择材质时,GPU 将根据其 ID 使用正确的纹理,我想这就是您现在需要了解的全部内容:)
我无法帮助您使用子材料,因为我认为它高度依赖于引擎,如果您告诉我们您正在使用什么,我们也许可以告诉您更多信息。
| 归档时间: |
|
| 查看次数: |
1328 次 |
| 最近记录: |