我对CGAL
以及OpenGL
都很陌生。我知道CGAL
提供了一个Qt
界面来显示对象,但我只想使用OpenGL
,我能够在openGL中渲染多面体和nef多面体(我称之为多面体演示)。问题是,如何在openGL中有效地显示不同大小的多面体。我使用glTranslatef
在我的程序中应用翻译来正确查看对象。问题是,由于尺寸的不同,它可能不适用于每个对象。因此,我需要根据对象的大小应用翻译。如果我能找到对象的最长对角线,可以通过调整传递给glTranslatef()
的参数值来实现。有没有办法在CGAL
中执行此操作?
答案 0 :(得分:2)
将对象视为点的集合,并从中创建边界体积。边界体积的大小应该为您提供所需的缩放。例如,您可能希望将视图居中于边界球体的中心,并根据其半径缩放视图。
See the chapter on bounding volumes
此外,您可能希望使用glScale
缩放视图以及glTranslate
以使其居中。