首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
opengl学习
惣流
创建于2024-08-23
订阅专栏
总结LearnOpengl每章节内容
暂无订阅
共43篇文章
创建于2024-08-23
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
6-3-1漫反射辐照度
给定任何方向向量 wi,我们需要一些方法来获取这个方向上场景的辐射度。 反射方程可以分为两部分,漫反射和镜面反射 Lo(p,ωo)=∫Ω(kdcπ)Li(p,ωi)n⋅ωidωi+∫Ω(ksDFG4(
6-2光照
假设无论光源在哪,入射光线的辐射率一样,点光源具有相同的辐射强度,所以辐射强度可以设为一个常量向量 辐射强度根据点的位置和光源的位置和距离进行缩放,所以根据表面法向量和入射角度来缩放辐射强度,用光源的
6-1理论
PBR指的是基于物理的渲染,只在不同程度上都基于和现实世界中物理原理更相符的基本理论 其中有三方面 基于微平面(Microfacet)的表面模型 能量守恒 应用基于物理的BRDF 微平面模型: 一个平
5-9SSAO
环境光照用来模拟光的散射,光的强度随着光的散射一直改变,这种间接光照的模拟叫做环境光遮蔽 原理是在片段上,根据周边的深度值计算遮蔽因子,这个遮蔽因子用来减少环境光照分量。遮蔽因子通过片段周围球形的多个
5-8延迟着色法
在几何处理阶段时,先渲染一次场景,获得几何信息,并存储在G缓冲中,然后再使用G缓冲中的几何信息进行光照计算 在光照处理阶段时,首先渲染屏幕大小的方形,然后使用G缓冲中的数据计算每个场景的光照,最终光照
5-7泛光
实现发光效果,给明亮的区域加一个光晕 首先需要提取出HDR的颜色缓冲和明亮区域,然后对超出一定亮度的亮度区域进行模糊处理,最终加入到HDR场景中,被模糊化的纹理就是光晕效果 使用MRT,指定多个像素着
5-6HDR
片段中超过1.0的亮度值和颜色值会被约束在1.0,导致细节损失,所以解决方式是让颜色暂时超过1.0,然后将其转换在区间内 使用浮点帧缓冲时,需要将颜色缓冲内部设为GL_RGB格式 色调映射算法是将转换
5-5视差贴图
根据纹理信息对顶点进行位移偏移,观察者的观察向量与原平面点接触的点为A点,与凸起平面的点接触的点为B点,视察贴图的目的是fragment不适用A点纹理坐标而使用B点。将在A点取到的高度设为向量长度,所
5-4法线贴图
使用法线贴图来对所有fragement设置法线,决定物体的形状 使用一个2D纹理来储存法线向量,将xzy向量储存在rgb中,并将其映射在[0,1]范围内,并在像素着色器中使用 使用切线空间,使所有光照
5-3-2点阴影
万象阴影贴图 储存六个面的环境数据,渲染到立方体贴图的每个面上 生成一个立方体贴图,然后生成六个面作为2D深度值纹理图像,然后将帧缓冲的深度缓冲改为六个面 glm::perspective的视野参数要
5-3阴影映射
从光源透视图中渲染场景,并对最近的深度值进行采样,决定片段是否在阴影中 首先需要一张深度贴图,来计算阴影,将结果存储在纹理中 然后创建一个2D纹理,作为帧缓冲的深度缓冲 使用正交投影矩阵 创建一个视图
5-2Gamma校正
输出亮度是输入亮度的2.2次幂 开启GL_FRAMEBUFFER_SRGB,自动进行校正 或者在像素着色器中使用fragColor.rgb = pow(fragColor.rgb, vec3(1.0/
5-1高级光照
布林冯氏光照:在镜面反射光中,视线和反射光源夹角大于90度,变为0.0。所以在Blinn-Phong着色模型中使用半程向量(光线与视线夹角一半方向上的向量),当半程向量与法线向量越接近时,镜面光分量就
4-10抗锯齿
超采样抗锯齿:SSAA,使用更高的分辨率来渲染场景,产生很大的性能开销 多重采样抗锯齿:MSAA 将单一的采样点变为4个采样点,并且每个像素只运行一次片段着色器,将顶点数据插值到像素中心,将颜色储存在
4-9实例化
将所有数据一次性发给GPU,节省性能 将glDrawArrays和glDrawElements的改为glDrawArraysInstanced和glDrawElementsInstanced,同样还有
4-8几何着色器
输入一组顶点,将这组顶点变换为其他图元,或者增加顶点,然后传递到下一个着色器 还可以通过接受法向量,实现法向量可视化
4-7高级GLSL
内建变量: 顶点着色器变量: gl_PositionSize:改变渲染出来的点的大小 gl_VertexID:只能进行读取,储存当前绘制顶点的索引 片段着色器: gl_FragCoord:窗口空间的坐
4-6立方体贴图
六个2D纹理面的立方体 创建一个立方体贴图并绑定 GL_TEXTURE_CUBE_MAP_POSITIVE_X 右 GL_TEXTURE_CUBE_MAP_NEGATIVE_X 左 GL_TEXTUR
4-5帧缓冲
包含颜色缓冲,深度缓冲,模板缓冲 创建自定义帧缓冲并绑定 至少添加一个帧缓冲,至少有一个颜色缓冲,所有附件完整,缓冲有相同样本数 渲染到不同的帧缓冲称为离屏渲染,然而要在主窗口中显示,需要再次激活默认
4-4面剔除
丢弃观察者看不到的背向面,通过分析顶点的环绕顺序来判断正向面和背向面 默认下逆时针顶点所定义的三角形被称为正向三角形 GL_BACK:只剔除背向面。 GL_FRONT:只剔除正向面。 GL_FRONT
下一页