排序
第三课,OpenGL的着色器
优化首先将着色器的编译链接进行优化//Shader.h #pragma once #include <glad/glad.h> class Shader{ public: //程序ID unsigned int ID; //构造器读取并构建着色器 Shader(const GLchar*...
第二十课,高级GLSL
内建变量 已知 gl_Position 顶点着色器的裁剪空间输出位置向量 FragColor 片元着色器的片元输出颜色值 未知 顶点着色器变量 gl_PointSize GLSL定义了一个叫做gl_PointSize输出变量,它是...
第十二课,assimp模型加载(数据加载篇)
大佬讲解入口 OpenGL学习脚印:模型加载初步-加载obj模型(load obj model) ,作者:The fool OpenGL学习脚印-AssImp模型加载 ,作者:The fool 本人主要通过程序流程理...
QT With OpenGL(延时着色法)(Deferred Shading)
文章目录 1.创建G-Buffer帧缓存2.修改各类型物体的着色器3. 测试G_Buffer4. 使用G_Buffer生成场景5. 添加高光项(1)如果为光源物体,则不进行光照结果计算(2)...
第五课,OpenGL图像变换
glm 下载&环境配置 OpenGL GLM 环境配置 GLM常用函数及使用 引自 OpenGL矩阵运算——GLM库的使用 头文件 GLM对于矩阵数据类型的定义位于glm/glm.hpp头文件中。 生成变换矩阵的函数位于glm/g...
第十九课,高级数据(数据存储)
以下为一些对数据存储原理的自我推断,如有错误,还请指正。 数据原理 数据定义 命名一个unsigned int类型变量 GLuint VBO,EBO,VAO; 将EBO定义为gpu内存中的数据区块地址。 glGenBu...
第十二课,assimp模型加载(配置篇)
下载Assimp并使用cmake配置 OpenGL-Assimp库的下载、编译及使用 本人亲测,在自己电脑上不需要DirectX的安装。估计和电脑版本有关,读者自己斟酌是否需要。 cMake及VS编译要尤其注...
QT With OpenGL(泛光)(Bloom)
文章目录 一、渲染场景到HDR帧缓存1. HDR帧缓存需要两个颜色纹理--MRT(Multiple Render Targets,多渲染目标)2. 将场景渲染到HDR帧缓存,提取高光图。修改shader...
第四课,OpenGL的纹理
头文件 #include "stb_image.h" 用于对不同格式图片的读取。 添加纹理坐标数据 纹理坐标为载入纹理的范围位置,即图片的宽高范围都在0~1之间,根据填入的小数来确定纹理...
第十八课,立方体贴图(环境映射)
使用立方体贴图,还可以给物体反射和折射的属性。 反射 片元着色器 #version 450 core out vec4 FragColor; in vec3 Normal; in vec3 Position; uniform vec3 cameraPos; uniform sampler...
第十一课,OpenGL光照之投光物
1.平行光 平行光,即光线方向为定值。 在点光源中,我们通过 lightDir = normalize(light.position.xyz - FragPos);来确定光线照射角度,而在平行光中lightDir(光照角度...
QT with OpenGL(HDR)
借鉴自 https://www.bilibili.com/read/cv11765941/ 文章目录 为什么引入HDR(High Dynamic Range)如何使用更大范围的帧缓存在Qt中使用帧缓存对象构造FBO纹理附件(多纹理绑定及渲染)数据...










