延迟渲染中遇到半透明物体应该怎么做

复制帖子链接

发贴时间:2017-08-03 17:24 

来自版块:CG新闻

人气1900 评论0 点赞0
原文出处:
点击查看
在渲染模拟中,半透明物体是比较复杂的,对于延迟渲染也是如此。今天微妙网渲染跟大家一起来聊聊延迟渲染中半透明物体的做法吧。

这里所说的半透明物体并非使用alpha mask的物体(比如叶片),而是想使用alpha blend的物体(玻璃,水面),因为延迟渲染天生对处理alpha物体的光照有缺陷(如果半透明物体需要关照也是单独完成),所以要使用 front shading做单独处理,然后再与延迟渲染进行Depth Test和Alpha Blend,也就是所化框架图的颜色混合那一步骤。
游戏中使用的最多的半透明物体就是水,自然界中的水会对水面以下的东西进行扰动,这一点上延迟渲染可以发挥作用,在光照阶段将不透明的物体均渲染得到的纹理Buffer,我称为LightColorBuffer,将LightColorBuffer作为纹理贴在水面上,再根据法线对该纹理进行扰动,这样我们就得到一个廉价又美观的折射效果,再配合方向光的光照(主要是Specular)就得到一个不错的水面效果,另外还可以通过获得G-Buffer中的高度数据来实现水面的自动深度。

延迟渲染中遇到半透明物体应该怎么做

延迟渲染中遇到半透明物体应该怎么做


对于延迟渲染技术微妙网渲染还是比较重视的,今后也会分享更多有关延迟渲染的教程与文章,希望大家好好看、多学习学习吧。

复制以下链接分享到 QQ群 QQ空间 贴吧 或其他CG网站上,每进来一个人你将获得: 2微豆
B Color Smilies

客服
快速回复 返回顶部 返回列表