第二课,OpenGL第一个三角形的流程-卡核

第二课,OpenGL第一个三角形的流程

本篇文章不按照代码的顺序编写,而按照数据的走向流程编辑。 1 顶点输入 GLfloat vertices[] = { -0.5f, -0.5f, 0.0f, 0.5f, -0.5f, 0.0f, 0.0f, 0.5f, 0.0f }; 使用GLfloat数组记录...
第十二课,assimp模型加载(绘制篇)-卡核

第十二课,assimp模型加载(绘制篇)

首先创建模型渲染管线 Shader ourShader("1.model_loading.vs", "1.model_loading.fs"); vertexShader #version 330 core layout (location = 0) in vec3 aPos; layou...
第六课,OpenGL的3D坐标系统-卡核

第六课,OpenGL的3D坐标系统

启动深度测试 glEnable(GL_DEPTH_TEST); 启动3D深度测试,绘制的图形不会因为先后顺序改变。 模型矩阵 glm::mat4 mode = glm::mat4(1.0f); mode = glm::rotate(mode, (float)gl...
第二十课,高级GLSL-卡核

第二十课,高级GLSL

内建变量 已知 gl_Position 顶点着色器的裁剪空间输出位置向量 FragColor 片元着色器的片元输出颜色值 未知 顶点着色器变量 gl_PointSize GLSL定义了一个叫做gl_PointSize输出变量,它是...
第十二课,assimp模型加载(数据加载篇)-卡核

第十二课,assimp模型加载(数据加载篇)

大佬讲解入口 OpenGL学习脚印:模型加载初步-加载obj模型(load obj model) ,作者:The fool OpenGL学习脚印-AssImp模型加载 ,作者:The fool 本人主要通过程序流程理...
QT With OpenGL(延时着色法)(Deferred Shading)-卡核

QT With OpenGL(延时着色法)(Deferred Shading)

文章目录 1.创建G-Buffer帧缓存2.修改各类型物体的着色器3. 测试G_Buffer4. 使用G_Buffer生成场景5. 添加高光项(1)如果为光源物体,则不进行光照结果计算(2)...
第五课,OpenGL图像变换-卡核

第五课,OpenGL图像变换

glm 下载&环境配置 OpenGL GLM 环境配置 GLM常用函数及使用 引自 OpenGL矩阵运算——GLM库的使用 头文件 GLM对于矩阵数据类型的定义位于glm/glm.hpp头文件中。 生成变换矩阵的函数位于glm/g...
第十九课,高级数据(数据存储)-卡核

第十九课,高级数据(数据存储)

以下为一些对数据存储原理的自我推断,如有错误,还请指正。 数据原理 数据定义 命名一个unsigned int类型变量 GLuint VBO,EBO,VAO; 将EBO定义为gpu内存中的数据区块地址。 glGenBu...
第十二课,assimp模型加载(配置篇)-卡核

第十二课,assimp模型加载(配置篇)

下载Assimp并使用cmake配置 OpenGL-Assimp库的下载、编译及使用 本人亲测,在自己电脑上不需要DirectX的安装。估计和电脑版本有关,读者自己斟酌是否需要。 cMake及VS编译要尤其注...
QT With OpenGL(泛光)(Bloom)-卡核

QT With OpenGL(泛光)(Bloom)

文章目录 一、渲染场景到HDR帧缓存1. HDR帧缓存需要两个颜色纹理--MRT(Multiple Render Targets,多渲染目标)2. 将场景渲染到HDR帧缓存,提取高光图。修改shader...
第四课,OpenGL的纹理-卡核

第四课,OpenGL的纹理

头文件 #include "stb_image.h" 用于对不同格式图片的读取。 添加纹理坐标数据 纹理坐标为载入纹理的范围位置,即图片的宽高范围都在0~1之间,根据填入的小数来确定纹理...
第十八课,立方体贴图(环境映射)-卡核

第十八课,立方体贴图(环境映射)

使用立方体贴图,还可以给物体反射和折射的属性。 反射 片元着色器 #version 450 core out vec4 FragColor; in vec3 Normal; in vec3 Position; uniform vec3 cameraPos; uniform sampler...