OpenGL®3D模型在最一般的意义上是三维(3D)空间中连接点的集合,称为顶点,它们组合形成一系列多边形,可以渲染以表示虚拟空间中的对象。几乎所有不是形状基本体的三维对象(如三角形)都可以真正视为OpenGL®三维模型。在更实际的意义上,对OpenGL®3D模型的引用通常指在3D建模程序中构建的复杂3D对象。完整的模型通常包括纹理、曲面法线和凹凸贴图,对于动画对象,还包括骨骼信息和顶点权重。。
OpenGL®被设计为一个用于快速显示例程的图形函数库,因此它不提供任何真正的3D模型高级支持。相反,中介编程库通常用于从流行的文件格式加载模型,并将其放入内存中可供OpenGL®使用的数据结构中。完全实现的OpenGL®3D模型的创建非常复杂,因此几乎总是使用功能齐全的建模软件来完成。尽管可以使用库将完整的模型加载到OpenGL®中,但实际上实现动画或运动等功能需要程序员编写代码,因为OpenGL®除了显示模型之外,没有任何先天能力。。
并非所有OpenGL®3D模型都需要从文件中加载。它们可以使用一系列算法或过程在程序内部构造。这些程序生成的模型可以是扩展的基本体,如球体或圆环,也可以是更复杂的形状,如螺旋。通过使用分形算法,可以根据需要制作和操作近似山脉、树木或涟漪的三维模型。
使用OpenGL®3D模型时可能会出现一些复杂性。最常见的问题是读取文件,因为并非所有三维建模器都提供文件保存方式的规范。另一个问题可能是存储顶点、纹理或材质信息的专有方法。这意味着模型的某些部分可能会被反向加载,或者纹理贴图可能完全无用。
无论文件格式如何,OpenGL®3D模型都会遇到一个问题,即从modeler到OpenGL®的曲面细分。曲面(如四边形)有时使用一个公式分解为三角形,而OpenGL®可能使用另一个公式。这可能会导致模型表面出现孔洞,这可能是一个难以解决的问题。不好的细分也会导致模型被过度细分,导致简单模型随着多边形数量的增加而变得非常占用内存。。
... 有许多Open Graphics Library®(OpenGL®)软件开发工具包(SDK)可供使用,尽管许多工具包专门针对特定用途。图形卡和硬件的开发人员通常提供一个OpenGL®SDK,该SDK在代码示例和文档方面相当完整,但...
...机的高级或低级方面也很重要,这取决于程序员想要创建什么。 ...
OpenGL®计算机图形是通过使用OpenGL®软件而不是其他类型的计算机图形图像(CGI)程序显示的图像。这些都是通过使用计算机编码来显示的,就像计算机软件的开发一样。然...
OpenGL®坐标是表示虚拟三维(3D)空间中特定位置的数值。这些值是单独的点,类似于算术和代数数学活动中绘制在图形上的点。使用这种类型的系统,可以通过三个不同的...
在OpenGraphics Library®(OpenGL®)中,线是OpenGL®能够绘制的基本基本形状之一,它们构成了有时用于渲染三角形的构建块之一。OpenGL®线条只是两个顶点之间的直线连接图形。...
OpenGL®深度缓冲区是三维(3D)图形程序员最容易误解、最复杂、最有用的工具之一。有几种方法可以优化缓冲区,从而提高程序的帧速率,包括正确设置近剪裁平面和远剪...
OpenGL®照明是三维(3D)计算机图形编程中最复杂、有时最难理解的方面之一。它可以用于为渲染场景添加必要的、逼真的收尾处理,但它也可能在计算上要求很高,并且在...
Open Graphics Library®(OpenGL®)和Direct3D计算机图形库之间存在一些差异,尽管并非所有这些差异对于程序员和最终用户都是显而易见的。最大的区别在于每个图形库的开发和...
OpenGL®(开放图形语言)是一种开源标准和抽象编程接口(API),用于在计算机程序中编程三维(3D)图形。要使API在编译和运行时工作,执行程序的计算机必须安装正确的O...
OpenGraphics Library®(OpenGL®)主要是一个编程接口,允许软件应用程序与图形硬件交互,并快速高效地创建三维(3D)场景。使用二维(2D)OpenGL®编程技术,库提供的硬件加...