|
|
1
0
这不是世界上的一个错误,这实际上是所期望的行为。使用glvertex2f()与使用glvertex3f()和设置z=0相同。所以它只是在一个离观察者非常近的平面上画出恒星(也取决于你的投影)。 要解决您的问题,您可以使用gldepthmask(0)禁用深度写入,然后绘制星形,调用gldepthmask(1),然后绘制球体,球体现在将位于星形前面。 您还可以在星上使用gldepthfunc(gl_greater)或在球体上使用gldisable(gl_depth_test),以快速实现相同的效果。 要使任何事情变得更复杂(例如恒星与球体相交),您需要使用矩阵将恒星放置在所需的位置。 |