[OpenGL 2.0] 体积雾 | 体渲染初步

1649 篇文章 11 订阅
1623 篇文章 22 订阅

上面是雾的浓度由低到高的两张截图,

由于是初步尝试所以以下的描述可能存在问题

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

这里的体积雾是一种后期效果,是对体渲染的一个初步尝试,主要步骤包括视线测交和积分。

视线测交在这里就是测试视线与一个虚拟box的交点,这个有简洁的实现方法;

但沿路径积分部分就纯粹是试验性质的,尽管就结果而言还是比较理想的,看来微积分要好好复习了...

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

这里面的体积雾与传统的硬件雾效是有区别的,

传统的做法是使用与点相关的某项参数的二次表达式(即 ax^2 + bx + c )的值

来产生混合参数衰减场景的颜色,

常见的参数比如点与视点的距离, 点与某个平面的距离,这些是与点的位置有关的,

或是更直接的单独赋予点的雾坐标等等

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

而体积雾是将雾空间作为一种场,

然后沿着视线逐步混合衰减的(即模拟积分的过程)

体积雾只是一种特殊的应用而已,在这里它是一种线性场,

我们还可以赋予其他的场特性(其实就是函数关系)来产生不同的效果,

现在常用的方式是使用三维纹理记录空间中的各种场数据(譬如速度,密度)模拟流体,云彩等等

也可以用来显示三维点阵数据,譬如医学上的一些应用,比如显示器官的立体图像,

因为通常数据是由层片的形式采集的而不是网格形式的,所以这种方法更适合。

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

总而言之,体渲染就是用来模拟用三角形网格不易于模拟的事物,

按照Nvidia Gems里面某一章的标题就是

“超越三角形”

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值