首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java OpenGL -在glutSolidCube的每一面应用不同的颜色

Java OpenGL -在glutSolidCube的每一面应用不同的颜色
EN

Stack Overflow用户
提问于 2014-01-17 16:25:08
回答 1查看 1.1K关注 0票数 0

对于我的Java OpenGL项目,我正在尝试制作一个魔方。我已经计算了所有的旋转和工作,但是有一件事我不知道怎么做,那就是给出立方体的每一边--它有自己的颜色。我使用glRotatef和glTranslatef分别对27个块进行定位,并使用glutSolidCube绘制每个块。我怎样才能给glutSolidCube的每一面不同的颜色?我看过纹理立方体,但这似乎很难,因为我不知道每个块的(x,y,z)坐标,我只有转换矩阵(旋转和平移)。做这件事最简单的方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-17 16:47:41

这可能无法直接实现:glutSolidCube不生成颜色属性(参见freeglut源代码中的fghCube函数)。

最简单的方法是自己生成立方体的几何。生成6 (faces) *4=24个顶点总数,其中包含预期的位置、法线和每个顶点的额外颜色属性。与普通属性一样,对于立方体上8个不同的顶点位置,您应该有3种不同的颜色(因为相同的顶点由3个面共享,但每个面需要不同的颜色)。

另一种方法是,如果您真的坚持使用glutSolidCube,那么可以根据顶点着色器中的顶点法线分配顶点颜色。但也许你不是在用顶点着色器。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21190809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档