我正在使用另一个 Stack Overflow 问题中的巧妙技巧:True Isometric Projection with OpenGL来设置等距投影。如果我只用线条绘制轮廓,一切都很好1但如果我绘制多边形,它们会被剪裁,所以线条2。
设置投影的代码:
pmv.glMatrixMode(PMVMatrix.GL_PROJECTION);
pmv.glLoadIdentity();
float dist = (float)Math.sqrt(1 / 3.0f);
pmv.gluLookAt(dist, dist, dist,
0.0f, 0.0f, 0.0f,
0.0f, 1.0f, 0.0f);
注意:我使用的是 JOGL,所以它可能是一个错误;除此之外,没有剔除,启用深度测试和偏移线/多边形的深度范围。