openGl(四) 高级光照

1 Blinn-Phone 与 冯氏光照模型有什么区别?

答:在冯氏光照模型中观察向量和反射向量夹角大于90度点积为负数,镜面分量为0,高光区域会出现明显断层。Blinn-phone光照模型唯一不同就是取得是观察向量和反射向量之间的半程向量,它不会大于90度。

2 Gamma 校正作用及如何使用?

答:电压与亮度不会是一条直线,通过乘一个gamma值校正成直线。使用法一:glEnable(GL_FRAMRBUFFER_SRBG);开启openGl自动校正;使用法二:在着色器中乘这个gamma值。

3 什么叫阴影映射以及如何实现?

答:为了增加真实感将被物体阻挡的光线表面渲染出来。以光得位置进行渲染看到的东西被点亮看不见的就在阴影中了,首先渲染深度贴图,使用深度贴图来计算片段是否在阴影中。

4 什么法线贴图,如何实现?

答:使物体表面显示更具有细节,为每一个片段都添加法线; 用2D纹理来存储法线向量,然后光照点乘这法线向量,不必花费太多性能开销提升画质。

5 什么是视差贴图如何实现?

答:它也能提升物体的细节,使之具有深度感。修改纹理片段坐标,比实际更高或者更低。

6 什么是HDR如何实现?

答:高动态范围,暗的更暗,亮的更亮。由于openGl亮度显示控在0.0-1.0之间,当超过1.0时也会被限制在1.0,HDR先允许亮度超过1.0,然后再做一次mapping使其输出在1.0以内。

7 如何实现泛光光晕效果?

答:渲染一个有光场景,提取场景中HDR颜色缓冲以及这个场景明亮区域可见图片并将其模糊处理,然后叠加到HDR场景中。

8 什么是延迟着色法以及如何实现?

答:对于一个场景很复杂的对象通常是多层画面的叠加,正向着色会对每一片段进行渲染,这样会很多片段被后面的覆盖;延迟着色将计算量非常大的渲染(比如光照)推迟到后期处理。它在几何处理阶段获取个片段位置,大小等等几何信息并将其存储在G缓冲中。然后再光照处理阶段使用G缓冲数据而不是从顶点着色器那里获取输入变量(uniform)。

9 什么叫环境光遮蔽,如何通过SSAO模拟环境光遮蔽原理?

答:在房间或者褶皱处光线会暗一点叫做环境光遮蔽。SSAO根据四边形周围深度值计划遮蔽因子,它用来减少或者低消片段环境光分量。

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值