0%

OpenGL

opengl-book.jpeg

啃书了!这本书买了很久都没看完,也忘的差不多了。现在试着用简洁的语言记录学习过程。

什么是OpenGL?

OpenGL是一种可以对图形进行访问的软件库。它的接口与硬件无关,自身不包含任何执行窗口任务或者处理用户输入的函数(这些操作我们需要系统提供的接口来实现)。

通过OpenGL渲染图像的主要操作(详细参考:渲染管线流程)

  • 设置数据,构建形状
  • 着色器
  • 光栅栏化,产生每个片元
  • 执行片元着色器

基本概念

光栅化(rasterization)将输入图元的数学描述转换为与屏幕位置对应的像素片元。
渲染(render)计算机从模型创建到最终图像的过程。
像素(pixel)显示器上最小的可见单元。

着色器(shader)专为图形处理单元编译的一种小型程序。

  • 定点着色器(vertex shader)处理定点数据
  • 片元着色器处理光栅化的片元数据

渲染管线(rendering pipeline)OpenGL一系列数据处理过程,并且将应用程序的数据转换到最终渲染的图像。

渲染管线流程

rendering-pipeline.jpeg