摘要:
1 背景 2010年提出的PBR光照模型存在包含大量复杂而晦涩的物理参数,不利于美术人员理解、使用和快速产出等问题,2012年disney发表《Physically-based shading at Disney》,提出了Disney 原则的BRDF,在行业内制造了一场基于物理的渲染革命。之后 阅读全文
摘要:
一、快速高斯模糊 1.1 背景 高斯模糊在wiki上定义为一种图像模糊滤波器,使用正态分布计算每个像素输出颜色。正态分布函数和图像如下所示: 由图可以发现,当 阅读全文
摘要:
一、访问者模式(Visitor) osg中节点node系统是一个庞大复杂的类层次体系,包括叶节点Geode、组节点Group、变换节点Transform、几何节点Drawable等等,他们都是Node的子类。开发功能时,想要访问到某个节点的子节点只能通过getChildren()接口获取到No 阅读全文
摘要:
一、三维空间多段线几何 1 应用背景 opengl常用glLineWidth命令设置线宽,此线宽在透视投影中不会随着相机远近变化而缩放。项目中高版本glLineWidth命令失效,需要考虑如何快速、方便、宽度不变的多段线几何。方案a:纯shader绘制曲线,绘制到一个二维平面上,然后将平面旋转 阅读全文
摘要:
一、基础概念 1、SSAO:通过将褶皱、孔洞和非常靠近墙面变暗的方法,近似模拟间接光照。SSAO称为屏幕空间环境光遮蔽 ,使用屏幕空间场景的深度而不是真实的几何体数据来确定遮蔽量,速度快效果好。 2、实现原理:根据物体表面法线方向生成一个半球随机深度采样,主要看物体周围深度值大小,通过这个值来确定是 阅读全文
摘要:
osg使用整理(11):延迟渲染 一、基础概念 前向渲染流程:顶点着色器->图元装配成点线三角形->几何着色器->裁剪剔除->光栅化(片元着色器)->透明度测试、深度测试。 延迟渲染流程:顶点着色器->图元装配成点线三角形->几何着色器->裁剪剔除->光栅化输出G-Buffer,存储每个像素的属性信 阅读全文
摘要:
1. Shadow Mapping原理 思路很简单,将相机放到光源处,观察到的物体部分就是光照部分,没观察到的就是阴影,它被自身或其他物体遮挡住了。我们知道可以通过深度缓冲来保存面片到相机间的相对距离关系,离相机最近的物体会遮挡其他相同位置的物体面片,于是我们可以首先将相机放在光源处,这样得到的深度 阅读全文
摘要:
实用的空间几何方法 设点表示为 P (x,y,z),直线表示为过点P (x,y,z) 和方向direction (x,y,z),平面表示为过点P (x,y,z) 和法线方向norm (x,y,z)。 代数符号 * 表示向量点积, 表示向量叉积,||表示向量模长,norma 阅读全文
摘要:
1.1 单光源直接光照 void main() { //创建小球几何 osg::ref_ptr<osg::ShapeDrawable> sphere =new osg::ShapeDrawable; sphere->setShape(new osg::Sphere(osg::Vec3(0,0,0), 阅读全文