openGl 基础操作
1 创建一个窗口?
答:glfwInit();
glfwCreateWindow(SCR_WIDTH, SCR_HEIGHT, "LearnOpenGL", NULL, NULL);
2 创建并编译着色器?
3 通过缓冲对象或者uniform发送顶点数据?
答:缓冲对象发送:通过VBO传送,layout指定位置,glVertexAttriPointer()更新顶点格式。
uniform发送:CPU向GPU发送数据,在着色器中定义uniform变量,在CPU中调用glUniform4f()发送数据。
4 绘制物体?
答:glDrawArrays(GL_TRIANGLES, 0, 36); }
5 纹理使用?
答:创建纹理,设置wrapping,filter属性,加载图片,与纹理绑定。
6 使用矩阵平移缩放旋转?
答:生成平移缩放旋转矩阵,然后通过glUniformMatrix4fv()发送至着色器。
7 创建3D通过摄像机移动?
openGl名词解释
openGl:一个定义函数布局和输出的图形API的正式规范。
GLAD:一个加载拓展路,用来加载并设定所有openGl函数指针,从而让我们使用所有openGl函数。
viewport: 我们需要渲染的窗口。
图形管线:一个顶点在呈现为像素之前全部的经过。
着色器:一个运行在显卡上的小型程序,很多阶段的图形管道都可以使用自定义的着色器来代替原有的功能。
NDC:顶点在通过剪裁坐标系中的剪裁与透视出发后最终呈现的坐标系。
VBO:一个调用显存并存储所有顶点数据供显卡使用的缓冲对象。
VAO:储存缓冲区和顶点属性转态。
IBO:一个储存元素索引供索引化绘制使用的缓冲对象。
uniform: 一个特殊的GLSL变量,用于主程序和着色器通信。
纹理:物体细节,就好比壁纸中一块块画的砖头。
纹理缠绕:超出坐标系时如何采样问题模式。
纹理过滤:放大纹理时,如何采样纹理模式。
多级渐远纹理:被储存材质一些缩小版本,根据观察者的距离会使用材质的合适大小。
stb_image.h: 图像加载库。
纹理单元:通过绑定不同的纹理单元,允许多个纹理渲染在同一对象上。
GLM:openGl专有的数学库。
lookAt矩阵:一种特殊类型的观察矩阵,它创建了一个坐标系,其所有的坐标根据观察目标的旋转或平移而定。
欧拉角:偏航,俯仰,滚转角从而允许我们通过这三个值构造任何3D方向。