【发布时间】:2021-03-19 01:07:28
【问题描述】:
我正在 LWJGL 中开展一个小项目。目前我正在从 obj/mtl 文件中存储顶点、法线和顶点颜色。
我正在尝试防止顶点着色。也就是说,我希望每个多边形都有它定义的颜色。我在网上做了一些阅读,我看到在着色器上使用 flat 修饰符和 gldisable(GL_BLEND)。到目前为止,唯一给我想要的结果是创建 6 个单独的平面并在 Blender 中对它们进行相应的着色。
sperate planes 似乎完全是 hack,我不知道它会如何扩展。
左边的立方体只是一个从搅拌机中导出的立方体,有 6 种不同的材料。右边的那个,我想要实现的,但是它的 6 个平面被建模成一个立方体,然后被导出。
实现我的独立彩色面孔目标的正确方法是什么?
【问题讨论】:
-
你在 LWJGL 中使用的是什么版本的 OpenGL?
-
另外,你会惊讶于你的“total hack”是标准做法,特别是当你在单个模型中混合平面和平滑阴影时。
-
@kibibu 版本 3.2.0 - 这是如何扩展的?这是在建模软件中配置的东西吗?还是我需要将多边形解析为软件中“自己的”对象?
-
就我个人而言,我会坚持使用“hack”——面顶点在拐角处的唯一共同点是位置;法线和颜色属性会有所不同。
-
你可以在建模过程中做到这一点 - Blender 有一个“边缘分割”修改器,我认为你可以使用它。