Realtime Shadow Rendering Log(1)

本文介绍了计算机图形学中实时阴影的两种主要技术:ShadowVolume和ShadowMaps。详细解释了阴影空间的概念,以及如何通过硬件加速来优化阴影效果。还讨论了几何优化的方法。
  

计算机图形学中,实时阴影分两类:Shadow Volume和 Shadow Maps。其本质为找到屏幕中未被光源照射到的象素,在绘制光照物体时,忽略这些象素。阴影的要素由光源,遮挡物与接受物组成。遮挡物也是阴影接受物之一。
阴影与阴影空间的形成: 以光源为中心(或为方向),凡是被遮挡物表面遮挡掉的空间,都处于阴影之下。在没有接受物时,此空间分为两个部分。光照空间和阴影空间。阴影空间为:光源与遮挡物面向光源轮廓形成的不规则无限大的锥。 此时,阴影只存在于遮挡物本身的背光面上。当此空间中有分离的第三个物体,且有部分处于阴影空间中时,第三个物体成为阴影接受物,其面向光源表面会有遮挡物的影子。同时其本身也是遮挡物。
屏幕空间阴影:共同的想法都是力图在已光栅化物体的屏幕DEPTH BUFFER中,用某种光线与遮挡物之间关系形成的光栅图形象素,与此象素所在位置的深度值做比较。从而判断出此象素是否处于阴影空间中。
Shadow Volume(阴影体)就是此处定义的阴影空间。阴影体由从光源到面向光源遮挡物轮廓边组成的若干三角面组成。还需要加上遮挡物面向光源的所有三角形。它是阴影体的盖子。Shadow Volume绘制的目标,就是判断一个物体,是否处于阴影空间之中。把物体所有位于阴影体的象素都标记出来。不被渲染。
由于无限远投影VOLUME,和VOLUME CAP以及Z-FAILED的结合使用,改进了VOLUME的近截面穿透,镜头在VOLUME内正确阴影绘制等硬伤,已经趋于成熟。
在控制填充率方面的加速有
double surface stencil rendering:由硬件一次性绘制完STENCIL BUFFER里的锥;否则要分里外面分别渲染两次。
depth range culling:由硬件检测深度范围内才进行STENCIL的操作。
volume culling:图中白点是光源,白盒子是光源AABB,蓝色是SCREEN SPACE的AABB。黄色是遮挡物。可以看到阴影体与光源AABB相交的点在SCREEN SPACE中构成了绿色的AABB。这才是真正需要进行STENCIL 操作的地方。使用SISSOR TEST进行优化。

几何方面的优化
aotu gen volume in  vertex shader :使用VERTEX SHADER直接在显卡内生成VOLUME三角形
非封闭网格volume generation:非封闭网格的volume如今也可以解决了。
静态预计算volume: 没啥说的,相对不动的光和遮挡物结队就先把volume算出来存着了。

realtime rendering 第四版》是一本关于实时渲染的书籍,目前该书已经发行第四版。实时渲染是计算机图形学中的一个重要领域,主要研究实时生成和展示逼真图像的技术。 该书的第四版主要更新了一些最新的实时渲染技术和算法,随着计算机硬件的不断发展,实时渲染的效果和速度都有了巨大的进步。新版的内容包括光线追踪、全局光照、阴影算法、材质处理、几何处理等方面的最新研究成果和实践经验。 这本书对于计算机图形学和游戏开发等领域的从业人员非常有价值,尤其是对于需要实时渲染的应用和游戏开发者而言,是一本不可多得的参考书。它详细介绍了实时渲染的基本原理、算法和技术,并提供了大量的实例和代码,帮助读者理解和应用这些知识。 与前几版相比,第四版更新了很多新的内容,对一些经典算法进行了改进和优化。同时,该书还考虑了现代图形硬件的架构和特性,提供了更加全面和深入的实时渲染知识。读者可以通过学习本书,了解到实时渲染技术的最新进展,掌握实时渲染算法的原理和实现方法,提高实时渲染的效果和性能。 总而言之,《realtime rendering 第四版》是一本权威且实用的实时渲染指南,对于计算机图形学和游戏开发领域的从业人员来说,是一本必备的参考书籍。阅读本书可以帮助读者深入理解实时渲染的原理和技术,并应用到实际的项目中,提升渲染效果和性能。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值