[gpu pro]fast conventional shadow filtering

gpu pro1在shadow部分第一篇文章。

box pcf filter improvement:

首先作者对于pcf的box filter提出了一个很好的改进点。

就是避免bilinear filter重复的sample,这样可以把pcf sample数量从3x3降到2x2,或者反过来如果本来就是2x2的,可以达到原先3x3的效果。

直接上图最直观:


结果可以说是非常直接,就是左边的filter的时候,对于v11这个点是sample了多次,那么改成右边这样,其实也没有少。

这个很棒!

separable shadow filter

文中认为如果对于pcf结果使用gaussion filter效果会更好(一般我们就是直接加起来,然后除以sample数的一个平均)。

就是这样,有一些权重:


这里在shader model3的时候需要类似解方程一样,通过对bilinear结果做各种加减乘除获得weighted的结果。

在shader model4里面,可以通过gather()指令,直接对结果进行操作。

其他

其它部分也提到了non-separable filter,contact hardening shadow等,但是实际应用价值和理论营养价值都不高,就略去。


第一部分 几何操作(Geometry Manipulation) 1. 动态GPU地形(Dynamic GPU Terrain) 2. 在GPU上通过镶嵌的带宽高效程序化网格(Bandwidth-Efficient Procedural Meshes in the GPU via Tessellation) 3. 物体碰撞时细分表面的实时形变(Real-Time Deformation of Subdivision Surfaces on Object Collisions) 4. 游戏中的逼真体积爆炸(Realistic Volumetric Explosions in Games)   第二部分 渲染(Rendering) 1. 《神偷》中的下一代渲染技术(Next-Generation Rendering in Thief) 2. 草地渲染和使用LOD的模拟(Grass Rendering and Simulation with LOD) 3. 混合重建抗锯齿(Hybrid Reconstruction Antialiasing) 4. 使用预计算散射的基于物理的云层实时渲染(Real-Time Rendering of Physically Based Clouds Using Precomputed Scattering) 5. 稀疏程序化体渲染(Sparse Procedural Volume Rendering)   第三部分 光照(Lighting) 1. 使用光照链表的实时光照(Real-Time Lighting via Light Linked List) 2. 延迟归一化的辐照度探针(Deferred Normalized Irradiance Probes) 3. 体积雾与光照(Volumetric Fog and Lighting) 4. GPU上基于物理的光照探针(Physically Based Light Probe Generation on GPU) 5. 使用薄片的实时全局光照(Real-Time Global Illumination Using Slices)     第四部分 阴影(Shadows) 1. 实用屏幕空间软阴影(Practical Screen-Space Soft Shadows) 2. 基于分块的全方位阴影(Tile-Based Omnidirectional Shadows) 3. 阴影贴图轮廓的重新矢量化(Shadow Map Silhouette Revectorization)     第五部分 移动设备(Mobile Devices) 1. PowerVR GPU上的混合光线追踪(Hybrid Ray Tracing on a PowerVR GPU) 2. 实现一个仅有GPU的粒子碰撞系统,使用自适应可伸缩纹理压缩3D纹理和OpenGL ES 3.0(Implementing a GPU-Only Particle-Collision System with ASTC 3D Textures and OpenGL ES 3.0) 3. 针对移动设备的动画角色毛皮(Animated Characters with Shell Fur for Mobile Devices) 4. 移动GPU的高动态范围计算摄影(High Dynamic Range Computational Photography on Mobile GPUs)   第六部分 计算(Compute) 1. 基于计算的分块剔除(Compute-Based Tiled Culling) 2. 在GPU光线追踪器上渲染矢量位移映射表面(Rendering Vector Displacement-Mapped Surfaces in a GPU Ray Tracer) 3. 对体渲染的平滑概率环境光遮蔽(Smooth Probabilistic Ambient Occlusion for Volume Rendering)   第七部分 3D引擎设计(3D Engine Design) 1. 用于快速光线投射操作的分块线性二元方格(Block-Wise Linear Binary Grids for Fast Ray-Casting Operations) 2. 采用Shader Shaker基的于语义的着色器生成(Semantic-Based Shader Generation Using Shader Shaker) 3. ANGL: 将OpenGL ES引入桌面端(ANGLE: Bringing OpenGL ES to the Desktop)
Hardcover: 586 pages Publisher: A K Peters/CRC Press (September 3, 2015) Language: English ISBN-10: 1482264617 ISBN-13: 978-1482264616 The latest edition of this bestselling game development reference offers proven tips and techniques for the real-time rendering of special effects and visualization data that are useful for beginners and seasoned game and graphics programmers alike. Exploring recent developments in the rapidly evolving field of real-time rendering, GPU Pro6: Advanced Rendering Techniques assembles a high-quality collection of cutting-edge techniques for advanced graphics processing unit (GPU) programming. It incorporates contributions from more than 45 experts who cover the latest developments in graphics programming for games and movies. The book covers advanced rendering techniques that run on the DirectX or OpenGL runtimes, as well as on any other runtime with any language available. It details the specific challenges involved in creating games across the most common consumer software platforms such as PCs, video consoles, and mobile devices. The book includes coverage of geometry manipulation; rendering techniques, handheld devices programming, effects in image space, shadows, 3D engine design, graphics-related tools, and environmental effects. It also includes a dedicated section on general purpose GPU programming that covers CUDA, DirectCompute, and OpenCL examples. In color throughout, GPU Pro6 presents ready-to-use ideas and procedures that can help solve many of your daily graphics programming challenges. Example programs with downloadable source code are also provided on the book’s CRC Press web page.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值