![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OpenGL开发专栏
文章平均质量分 57
记录OpenGL的开发过程
Briant_ccj
专注于物联网 人脸识别 人工智能
展开
-
【OpenGL学习笔记十】摄像机
根据之前的学习已经学习到,如果需要从不同的角度去观察空间中的物体,其实就是构造LookAt矩阵即观察矩阵。构造lookAt矩阵,给出几个坐标即可void lookAt(const QVector3D& eye, const QVector3D& center, const QVector3D& up);摄像机盯着原点看QVector3D eye(0.0f, 0.0f, -3.0f);QVector3D center(0.0f, 0.0f, 0.0f);//center原创 2022-03-14 20:42:15 · 702 阅读 · 0 评论 -
【OpenGL学习笔记九】坐标系统
有了一个三维的模型之后,如何能够从不同的角度显示它?就像用鼠标拖着箱子,如何360度环绕的旋转,通过滑动齿轮放大,缩小,这些都是如何实现的?原创 2022-03-12 22:10:14 · 1985 阅读 · 0 评论 -
【OpenGL学习笔记八】纹理
纹理是2d的图片通俗的说绘制纹理就是用OpenGL绘制图片告诉着色器纹理坐标把纹理传给着色器着色器通过sampler2D GLSL内置数据类型texture2D GLSL内建函数原创 2022-02-13 17:17:44 · 1046 阅读 · 0 评论 -
【OpenGL学习笔记七】着色器语言(GLSL)
GLSL是类C语言典型着色器结构开头总是版本声明 使用in关键字定义输入变量 定义out关键字定义输出变量 定义uniform main函数#version version_numberin type in_variable_name;in type in_variable_name;out type out_variable_name;uniform type uniform_name;int main(){ // 处理输入并进行一些图形操作 ... //原创 2022-01-16 19:19:50 · 3537 阅读 · 3 评论 -
【OpenGL学习笔记六】使用QOpenGLShaderProgram编写着色器程序
z基于Qt的OpenGL(三):QOpenGLShaderProgram和GLSL在编写着色器程序的时候如果不使用QOpenGLShaderProgram,那么程序写起来将是这样的static const char* vertexShaderSource = "#version 330 \n" "layout(location = 0) in vec3 posVertex;\n" "void main() {\n" "原创 2022-01-13 13:40:07 · 890 阅读 · 0 评论 -
【OpenGL学习笔记五】 索引缓冲对象EBO
EBO即索引缓冲对象为什么需要EBOOpenGL里的VBO,VAO,EBO的理解 - yongfengnice - 博客园EBO与VBO使用方式类似,先使用glGenBuffers创建EBO,再使用glBindBuffer绑定EBO,然后使用glBindBuffer传送数据,注意类型为GL_ELEMENT_ARRAY_BUFFER,绘图的时候使用glDrawElements函数。OpenGL VAO和VBO以及EBO的使用_mozhi-CSDN博客...原创 2022-01-09 19:46:54 · 963 阅读 · 0 评论 -
【OpenGL学习笔记四】顶点数组对象VAO
在不使用VAO仅使用VBO进行绘图比如绘制一个三角形的步骤是绑定缓冲对象以拿到顶点数据 配置顶点属性指针以便OpenGL知道如何解析顶点数据之后每次绘制一个三角形都要重复执行以上步骤,但是上面的步骤的配置都是相同的,不需要重复执行,VAO就是用来解决这个问题的。使用VAO,只需要将配置函数执行一次,之后再绘制该物体的时候只需要绑定该VAO即可。VAO的使用非常简单,需要在使用VBO等之前使用下面两条语句绑定即可unsigned int VAO; glGenVertexArr..原创 2022-01-09 19:31:09 · 2926 阅读 · 0 评论 -
【OpenGL学习笔记三】绘制三角形-仅使用VBO
定义三角形顶点 static const float vertices[] ={ -0.5f, -0.5f, 0.0f, 0.5f, -0.5f, 0.0f, -0.5f, 0.5f, 0.0f}; 把顶点数据送入GUP 这需要用到VBO对象,它可以在GPU内存中储存顶点数据,使用VBO的好处是我们可以一次性的发送一大批数据到显卡上,而不需要每个顶点发送一次(立即渲染模式就是这样做的),从CPU把数据发送到显卡相对较慢,所以我们要尽可能尝试一次性发送尽可能多的数据原创 2022-01-09 16:52:58 · 597 阅读 · 0 评论 -
【OpenGL学习笔记二】顶点缓存对象VBO
OpenGL画图是通过显卡来画的,显卡画图的数据需要从显卡的内存中来取,那么就需要有接口能把数据从CPU内存传输到GPU内存中去EBO对象用于完成该功能原创 2022-01-09 18:59:36 · 488 阅读 · 0 评论