Advertisement

Use OpenGL to draw triangles

阅读量:

OpenGL渲染三角形

OpenGL 中所定义的对象位于三维空间中。然而,在显示屏幕上或窗口中仅是一个二维像素阵列。因此 OpenGL 的功能是将三维坐标转换为适合显示在二维像素阵列上的二维坐标。该过程由 OpenGL 的图形处理 pipeline 来完成。图形处理 pipeline 可分为两个主要阶段:第一阶段负责将三维坐标转化为二维坐标;第二阶段则将其进一步转化为可显示的彩色像素。

图形管道接收一组三维坐标作为输入,并将其转换为屏幕上显示的彩色二维像素。图形管道可划分为多个阶段,在每个阶段中都需要前一阶段的输出作为当前阶段的输入。所有这些阶段都经过高度专业化的设计(每个阶段都有明确的功能),并且能够方便地实现并行处理。得益于这种并行特性,在现代GPU上集成了一千多个专用核心后,在图形处理 pipeline 中就能迅速完成数据运算。负责执行这些任务的核心组件位于GPU上,并运行专门编写的程序块(称为着色器)。

其中一些颜色方案可由开发者设置。这使我们能够编写我们的颜色方案以替代现有的默认样式。这赋予我们对管道特定部分进行精确的操作,并且由于它们运行在 GPU 上的原因,它们还可以节省了宝贵的 CPU 时间。

下面是图形管道系统各阶段的抽象描述,请注意其中蓝色区域展示了我们能够注入自定义着色器的地方。

![在这里插入图片描述](https://cdl.itadn.c

全部评论 (0)

还没有任何评论哟~