如何正确渲染OpenGL中的CGAL对象?

时间:2013-05-21 20:20:08

标签: opengl cgal

我对CGAL以及OpenGL都很陌生。我知道CGAL提供了一个Qt界面来显示对象,但我只想使用OpenGL,我能够在openGL中渲染多面体和nef多面体(我称之为多面体演示)。问题是,如何在openGL中有效地显示不同大小的多面体。我使用glTranslatef在我的程序中应用翻译来正确查看对象。问题是,由于尺寸的不同,它可能不适用于每个对象。因此,我需要根据对象的大小应用翻译。如果我能找到对象的最长对角线,可以通过调整传递给glTranslatef()的参数值来实现。有没有办法在CGAL中执行此操作?

1 个答案:

答案 0 :(得分:2)

将对象视为点的集合,并从中创建边界体积。边界体积的大小应该为您提供所需的缩放。例如,您可能希望将视图居中于边界球体的中心,并根据其半径缩放视图。

See the chapter on bounding volumes

此外,您可能希望使用glScale缩放视图以及glTranslate以使其居中。