我想知道用于渲染复杂曲面的技术,这些曲面无法用OpenGL
中的数学方程式(如汽车)来表示。我们是通过组合这么多基本元素(球体,锥形......)来创建的吗?还是有一些其他的方法?
我即将开始创建一个可以渲染3D汽车并想知道从哪里开始的应用程序。
答案 0 :(得分:4)
您可以使用第三方工具(例如Blender)创建可以导出然后在OpenGL中呈现的模型。这些模型通常由三角形组成,但使用类似于2D笔和纸的3D工具绘制。
以下是有关此主题的教程:OpenGL Model Tutorial
答案 1 :(得分:2)
是的,OpenGL通过绘制许多基本元素(称为“基元”)来生成图像。
最常用的基元是三角形和四边形(或“四边形”,通常实现为两个三角形)。 (还有绘制线条和点基元的规定,但这些通常不用于绘制逼真的曲面。)
复杂曲面用三角形或四边形网格近似。隐藏表面移除通常通过使用深度贴图来完成:靠近相机绘制的图元禁止并以每个像素为基础覆盖更远的图元。
为了降低生成良好图像所需的曲面细分级别,OpenGL支持在三角形(和四角形)角之间插入(虚构的)切平面。这种廉价的近似,称为“阴影法线”,实际上消除了刻面的外观,否则会破坏连续表面与适度数量的基元近似。
答案 2 :(得分:1)