为什么需要学习OpenGL?

  • 我们常用的用C++、Java等编程语言编写的程序,都是运行在CPU上的,而CPU并不擅长处理图像,因为处理图像,有专门负责处理图像的GPU
  • 因此,在需要高效处理图像时,就必须充分利用GPU的能力,而正如操作CPU要用Java等编程工具来实现时,OpenGL就是操作GPU的工具

关键概念

GLSL

OpenGL Shading Language,OpenGL的着色器语言,可以用来编写着色器代码

窗口

  • OpenGL实际上并不是把图像直接绘制到计算机屏幕上,而是将之渲染到一个帧缓冲区,然后由计算机来负责把帧缓冲区中的内容绘制到屏幕上的一个窗口中。
  • 注意这里关于窗口的概念,因为在使用OpenGL时,需要先把内容绘制到窗口中,所有,一般都需要先创建相应的窗口作为容器。

OpenGL的渲染管线

  • 现代3D图形编程会使用管线的概念,在管线中,将3D场景转换成2D图形的过程被分割成许多步骤。
notion image
  • 顶点着色器、曲面细分着色器、几何着色器、片段着色器可以用GLSL编写。
  • 将GLSL程序载入这些着色器阶段也是C++/OpenGL应用程序的责任之一,其过程如下。
    • 获取GLSL着色器代码,既可以从文件中读取,也可以硬编码在字符串中。
    • 创建OpenGL着色器对象,并将GLSL着色器代码加载到着色器对象中。
    • 用OpenGL命令编译并连接着色器对象,将它们装载到GPU。
 
 
OpenGL学习-在Clion中使用Activity-生命周期与IntentFilter
Loading...