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

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

来自版块:CG新闻

人气1955 评论0 点赞0
点赞
收藏
打赏
扫码分享给朋友
当前帖子链接已复制,快去粘贴分享吧~
下载文件
×
本帖全部文件列表
原文出处:
点击查看
Maya(写实风格)特效示意库插件
在渲染模拟中,半透明物体是比较复杂的,对于延迟渲染也是如此。今天微妙网渲染跟大家一起来聊聊延迟渲染中半透明物体的做法吧。

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

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

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


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

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

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