【发布时间】:2011-03-16 21:25:23
【问题描述】:
我是 OpenGL/ES 和 OpenTK 的新手,如果我的理解/术语有一点偏差,请原谅我。
基本上,
- 我正在使用顶点缓冲区对象阵列 (VBO) 绘制一系列 [白色] 基于三角形的立方体。
- 然后我使用相同的顶点来渲染立方体的 [黑色] 线框,使用 lines 和 polygonOffset()。
- 问题是,我可以看到在背面渲染的线框(即透视),我不确定为什么(?)。
- 我正在使用 4 值颜色 (rgba),我对第 4 值(alpha/不透明度)似乎没有任何作用。
我已为基于三角形的立方体部分定义了法线,总共 36 个(2 x 3 顶点/tri x 6 边),但是,我 还没有为线框线段定义任何法线(目前)。
有没有人知道我可能做错了什么,仅基于 OpenGL 陷阱/经验。
JFYI,我在 mono/monotouch (C#) 上使用 OpenTK-OpenGL ES11
附:如果您想知道为什么我没有发布任何代码,那是因为渲染代码与游戏逻辑混合并分布在多个文件中。如有必要,我会尽快制作一个简单、独立的示例。
【问题讨论】:
-
您传递给 glPolygonOffset 的值是什么,以及在哪些绘图调用上?你有 glEnable(GL_POLYGON_OFFSET) 吗?
-
@ryanm,我有以下调用 GL.EnableClientState(All.PolygonOffsetFill); GL.PolygonOffset(-0.1f, -0.1f);就在我的立方体重绘例程(但不是线框绘制)之前,然后相应地禁用 All.PolygonOffsetFill,看起来对吗?
标签: iphone opengl-es xamarin.ios opentk