排序
第十七课,帧缓存(后期处理)
反向 void main() { FragColor = vec4(vec3(1.0 - texture(screenTexture, TexCoords)), 1.0); } 灰度 均分灰度 void main() { FragColor = texture(screenTexture, TexCoords); floa...
第四课,OpenGL的纹理
头文件 #include "stb_image.h" 用于对不同格式图片的读取。 添加纹理坐标数据 纹理坐标为载入纹理的范围位置,即图片的宽高范围都在0~1之间,根据填入的小数来确定纹理...
OpenGL环境配置
配置环境 1.打开 VS2019 新建C++项目 2.打开配置属性 设为所有配置,Win32平台 3.基本配置 可使用glfw,以及OpenGL函数(glad)。 C/C++ -> 常...
第五课,OpenGL图像变换
glm 下载&环境配置 OpenGL GLM 环境配置 GLM常用函数及使用 引自 OpenGL矩阵运算——GLM库的使用 头文件 GLM对于矩阵数据类型的定义位于glm/glm.hpp头文件中。 生成变换矩阵的函数位于glm/g...
第十八课,立方体贴图(环境映射)
使用立方体贴图,还可以给物体反射和折射的属性。 反射 片元着色器 #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(光照角度...
第十五课,混合
丢弃片段 将透明度小于一定阈值的片段完全丢弃。 vec4 texColor = texture(texture1, TexCoords); if(texColor.a < 0.1) discard; FragColor = texColor; discard将该点颜色完全丢...
第二十一课,几何着色器(基础篇)
几何着色器的作用 输入 输入类型 从顶点着色器接收下列任何一个图元值: 类型数组大小points:绘制GL_POINTS图元时。1lines:绘制GL_LINES或GL_LINE_STRIP时2lines_adjacency...
QT With OpenGL(延时着色法)(Deferred Shading)
文章目录 1.创建G-Buffer帧缓存2.修改各类型物体的着色器3. 测试G_Buffer4. 使用G_Buffer生成场景5. 添加高光项(1)如果为光源物体,则不进行光照结果计算(2)...
QT With OpenGL(泛光)(Bloom)
文章目录 一、渲染场景到HDR帧缓存1. HDR帧缓存需要两个颜色纹理--MRT(Multiple Render Targets,多渲染目标)2. 将场景渲染到HDR帧缓存,提取高光图。修改shader...