OpenGraphics Library®(OpenGL®)主要是一个编程接口,它允许软件应用程序与图形硬件交互并快速高效地创建三维(3D)场景,库提供的硬件加速可以提高性能,有时还可以提高不必使用3D模型或变换的软件编程的简易性。使用2D OpenG...
OpenGraphics Library®(OpenGL®)主要是一个编程接口,它允许软件应用程序与图形硬件交互并快速高效地创建三维(3D)场景,库提供的硬件加速可以提高性能,有时还可以提高不必使用3D模型或变换的软件编程的简易性。使用2D OpenGL®最常见的方法是绘制带有图像纹理的四边形或矩形,有效地从图像中创建三维空间中的对象。一旦建立,这些四边形就可以被操作,要么用严格的2D方法,要么通过3D矩阵进行变换,以获得特殊效果,否则仅使用2D光栅图形很难做到。使用3D库会带来一些复杂的情况它只用于二维图形,包括高精度,这使得分离单个像素位置变得复杂,OpenGL是一种编程接口,它允许软件应用程序快速高效地创建三维(3D)场景。许多硬件和软件开发人员提供驱动程序和自定义抽象编程接口(API),使他们的与OpenGL®库完全兼容的特定产品。开放标准的广泛接受为程序员提供了一种直接访问各种系统上硬件的方法。使用2D OpenGL®时提供的硬件加速可以使程序比其他情况下运行得更平稳。这种速度平衡的是,使用OpenGL®管道进行图形处理可能与使用传统的2D编程方法非常不同,后者通常不采用OpenGL®那样的状态机模型大多数2D OpenGL®程序使用与纹理图像比例相同的平面矩形来描绘图形。这样做的优点是渲染速度非常快,并且简化了编程,因此它使用与基于光栅的缓冲图形相同的逻辑。一些效果,如缩放图像,旋转图像或反转图像,实际上,使用OpenGL®可以更有效地执行。有些因素可能会导致2D OpenGL®程序比其他2D程序更复杂。其中一个因素是显示屏上像素的精度。OpenGL®并不将虚拟坐标系的一部分等同于屏幕上的一个像素,与光栅图形一样,有时需要使用浮点数作为屏幕坐标,以防止显示中出现间隙或出现奇怪的像素位置。另一个问题是OpenGL®需要使用图形卡来提高渲染速度。如果应用程序使用OpenGL®来显示界面或系统窗口,对于终端用户来说,没有图形加速的设备可能会损失图形的性能,OpenGL也不提供任何显示文本的本地支持,这意味着显示大面积的文本可能需要大量的自定义代码
-
发表于 2020-08-07 17:26
- 阅读 ( 798 )
- 分类:电脑网络