我是OpenGL / ES和OpenTK的新手,所以请原谅我,如果我的理解/术语稍微偏离。
基本上,
我 为基于三角形的立方体部分定义了法线,总共36个(2 x 3个顶点/三个x 6个边),但是,我 没有 定义线框线段的任何法线(目前)。
有没有人知道我可能做错了什么,完全基于OpenGL陷阱/经验。
JFYI,我在单声道/单声道(C#)上使用OpenTK-OpenGL ES11
P.S。如果您想知道为什么我没有发布任何代码,那是因为渲染代码与游戏逻辑混合并分布在多个文件中。如果有必要的话,我会尽快制作一个简单的,自包含的例子。
答案 0 :(得分:1)
确保您已开启深度测试。即使构成线条和点的片段也会进行深度测试,因此如果您在线条前面绘制了形状,则形状应该遮挡线条。
您希望查看带有参数glEnable
的{{1}}函数。
答案 1 :(得分:1)
假设GL.EnableClientState是glEnableClientState的直接模拟,这不是多边形偏移的启用方式。是否有glEnable的等价物? 以下内容对我来说是一个可见的线框:
glEnable( GL_POLYGON_OFFSET_FILL );
// push back the filled faces a touch
glPolygonOffset( 1, 1 );
// draw filled faces
...
glDisable( GL_POLYGON_OFFSET_FILL );
// draw wireframe
...