游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4189|回复: 7

【求教】主流的体积雾是如何实现的?

[复制链接]

29

主题

157

帖子

163

积分

注册会员

Rank: 2

积分
163
发表于 2008-8-13 12:13:00 | 显示全部楼层 |阅读模式
如题,当前主流的体积雾是如何实现的? 主要是体积雾的形状如何控制?

假设场景中有很多体积雾。

我思考了一下,首先应该把体积雾当作一个物体,和其他物体一样进行管理和可见性剔除。将判断为可见的体积雾对象存在一个单独的列表里,在其他物体都渲染完之后再渲染体积雾对象。将体积雾的位置利用顶点传入shader,将其他属性用uniform传入shader, 然后加一些与视点无关的扰动进行渲染。

但不知体积雾的形状是如何控制的?如果是球形的雾或方形的雾还好控制,如果想要类似云彩的效果怎么办呢?

之前看到Cry Engine 2 Demo里面的云彩效果相当酷,不知是不是用体积雾实现的。

19

主题

638

帖子

638

积分

高级会员

Rank: 4

积分
638
发表于 2008-8-13 19:06:00 | 显示全部楼层

Re:【求教】主流的体积雾是如何实现的?

云彩远在天边,用体积雾太浪费了吧。
体积雾主要用在和其他物体有相交的地方,提供真实的云雾缭绕的感觉,解决面片云雾会在相交处露馅的问题。典型的用途如战场上的烟雾。
形状主要通过3D纹理的alpha通道控制。

1

主题

103

帖子

119

积分

注册会员

Rank: 2

积分
119
发表于 2008-8-13 20:53:00 | 显示全部楼层

Re: Re:【求教】主流的体积雾是如何实现的?

qrli: Re:【求教】主流的体积雾是如何实现的?

云彩远在天边,用体积雾太浪费了吧。
体积雾主要用在和其他物体有相交的地方,提供真实的云雾缭绕的感觉,...

就你这水平,还说这个论坛都是新手?
什么“云彩远在天边”?要是一个空战游戏呢,飞机需要穿过云雾,我的下个游戏就将是这种类型。
还什么“形状主要通过3D纹理的alpha通道控制”,你啊,太弱了,多看一些论文在来和我游戏之家斗吧。

59

主题

984

帖子

1200

积分

金牌会员

Rank: 6Rank: 6

积分
1200
发表于 2008-8-13 21:58:00 | 显示全部楼层

Re:【求教】主流的体积雾是如何实现的?

Orz ls教主来了......

实现体积雾的方法太多了
不同场景下也各有优缺点,没有主流之分
根据你的需要,用不同的实现方法吧

29

主题

157

帖子

163

积分

注册会员

Rank: 2

积分
163
 楼主| 发表于 2008-8-14 12:14:00 | 显示全部楼层

Re:【求教】主流的体积雾是如何实现的?

二楼的不管水平如何,至少给了我一个建议,不管错误与否,至少指了一个方向,我要向你说声谢谢。
三楼的自称高手,除了攻击别人,却什么建议也没有,哼哼... 这位高手,我想请问一下您的体积雾是如何实现的?请不吝赐教。

言归正传,莫非体积雾要用3D纹理吗?说实话,3D纹理我从来没有用过,当初刚接触3D图形编程的时候,据说3D纹理很慢且很多显卡支持的不好,是不是现在的显卡对3D纹理的支持变强了?使用3D纹理对显卡要求高不高?

cry engine 2的demo中有一个从高空飞过,俯视大地的镜头,里面的云彩实在是太酷了。

19

主题

638

帖子

638

积分

高级会员

Rank: 4

积分
638
发表于 2008-8-14 12:20:00 | 显示全部楼层

Re:【求教】主流的体积雾是如何实现的?

也不是非要用3D纹理,只不过用3D纹理的效果最好。传统上是用一打2D纹理做的,但缺点是换个角度时,要么总是一面冲着相机,要么边缘露馅,要么重新生成纹理。不过3D纹理的硬件支持不是很可靠,Intel的显卡驱动经常有不支持的。

29

主题

157

帖子

163

积分

注册会员

Rank: 2

积分
163
 楼主| 发表于 2008-8-14 12:22:00 | 显示全部楼层

Re:【求教】主流的体积雾是如何实现的?

四楼的clayman,你好,那么一般都用哪些方法实现体积雾呢?其中哪种方法的速度比较快,效果也较好呢?

29

主题

157

帖子

163

积分

注册会员

Rank: 2

积分
163
 楼主| 发表于 2008-8-14 12:25:00 | 显示全部楼层

Re:【求教】主流的体积雾是如何实现的?

果然,我之前看OGRE的demo时,里面有个体积雾的例子,就是用很多2D纹理交错着形成的体积雾。不过效果远一点看还行,近看就不怎么样了。

看来只能用2D纹理和3D纹理各实现一个体积雾了,然后根据显卡选择用哪一个。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-7-16 18:17

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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