【发布时间】:2010-11-29 18:39:06
【问题描述】:
我有一个 openGL(实际上是 JOGL,但同样的概念适用于此)应用程序,我有一个场景,在每个渲染通道上渲染大约 10k 个三角形。必须在每次渲染时计算三角形的比例和角度,因为三角形需要保持恒定的大小和相对于相机位置的旋转。
我尝试使用显示列表,然后在每次调用 glCallList 之前进行缩放/旋转。这行得通,但它使系统陷入困境。我正在考虑为此使用顶点缓冲区,但我不确定这是否是合适的方法,因为我需要在每次渲染时旋转/缩放。
谁能帮我指出在每个场景中渲染这么多三角形的正确方向?
编辑 - 这为问题提供了一些额外的上下文。
该应用程序是一个显示世界 3D 视图的地图应用程序。需要在表面上绘制某些形状,指向相对于指南针的方向,即 30 度。用户可以旋转 3d 视图,但形状必须在地球表面上保持平坦,并且还要指向指定的方向。
谢谢, 杰夫
【问题讨论】:
-
所以对象是:a) 相同,并且 b) 相对于指南针旋转,因此当用户旋转视图时,它们的旋转方式与世界完全相同(加上它们的一点自己不断旋转)?另外,您使用的是哪个版本的 OpenGL?
-
它们是相同的对象,是的。它们的旋转方式与世界的旋转方式并不完全相同,因为它们需要旋转才能在地球表面上保持平坦。我正在使用 JOGL 2.0。