OpenGL One (Triangle)
前言: 虽然C++是个语法及其憨批的语言( 菜是原罪 ),但确实是入门OpenGL这门技术的不二之选。 Tips 顶点数组对象:Vertex Array Object,VAO 顶点缓冲对象:Vertex Buffer Object,VBO 索引缓冲对象:Element Buffer Object,EBO 或Index Buffer Object,IBO 一点点基本的概念 3D坐标转为2D坐标是通过OpenGL的 图形渲染管线 管理的。 图形渲染管线可以被划分为两个主要部分: 第一部分是把3D坐标转换为2D坐标 第二部分是把2D坐标转换为实际有颜色的像素 注意:2D坐标和像素不同,2D坐标精准表示一个点在2D空间种的位置,而2D像素是这个点的近似值,2D像素收到你的屏幕分辨率的限制。 管线接受特定的3D坐标,然后把他们转变成屏幕上的有色2D像素输出。图形渲染有很多阶段,每个阶段都是高度专门化的,有一个特定的函数处理。 当今显卡都有很多核心,在GPU上为每一个管线的极端运行各自的小程序,快速处理数据,这些小程序就叫 着色器(shader) 。OpenGL的着色器是使用着色器语言 GLSL 。 (蓝色的部分是可以自己写入着色器的部分)Vertex Shader && Fragment Shader 必须写 Vertex Shader:作为单独的定点作为输入。 Fragment