3D游戏中的描边算法

很容易想到的是法线放大算法,分两个pass:

  • 沿法线方向放大模型(vs)并用描边色渲染(ps)
  • 正常渲染模型

3D游戏中的描边算法_第1张图片

效果如图:优点是不需要renderTarget,兼容性好。

-------------------------------------------------------------------------------------------------------------------------

但是如何达到dota2游戏中那种边缘发光的描边效果呢?
经导师提供一种方案,类似于前面的发线放大,但是这里的放大是通过高斯模糊来实现的。
先上最终效果图:

3D游戏中的描边算法_第2张图片

思路如下:
3D游戏中的描边算法_第3张图片

  • 模型到RTT
  • 横向模糊
  • 纵向模糊
  • 正常渲染模型

RenderMonkey中实现简单。实际应用,还需想一下如何遮挡?感觉应该能用zbuffer

你可能感兴趣的:(3D编程)