游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3118|回复: 5

渲染水的时候,如何得到水面到水底的深度数据?

[复制链接]

12

主题

27

帖子

27

积分

注册会员

Rank: 2

积分
27
发表于 2007-8-28 13:32:00 | 显示全部楼层 |阅读模式
大概这样,我要做一个水面,用hlsl,我想通过水面的颜色能体现出水的深度,例如比较浅的地方能够比较清晰的看到水底,比较深的地方,直接使用一个其他的比较深的颜色。但是问题出在,我如何才能获得水的深度,只有得到了深度数据,才能根据这个数据去做相应的处理?

5

主题

686

帖子

697

积分

高级会员

Rank: 4

积分
697
QQ
发表于 2007-8-28 17:16:00 | 显示全部楼层

Re:渲染水的时候,如何得到水面到水底的深度数据?

垂直正交投影,渲染水下物体,把每个点的深度减去水面深度,将深度差记录到贴图中
在渲染水面时,采样上面的贴图,得到每个水面点对应的深度差就行了

LZ只要求水的深浅数据,其实这在水下消光的计算中是不精确的,近似的折射光跟踪是一个较好的方法,具体可以参考下Caustics Mapping

32

主题

1259

帖子

1351

积分

金牌会员

Rank: 6Rank: 6

积分
1351
发表于 2007-8-28 20:12:00 | 显示全部楼层

Re:渲染水的时候,如何得到水面到水底的深度数据?

在编辑器的时候预计算到图片上吧

0

主题

8

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2007-8-29 05:01:00 | 显示全部楼层

Re:渲染水的时候,如何得到水面到水底的深度数据?

不错.

18

主题

971

帖子

982

积分

高级会员

Rank: 4

积分
982
发表于 2007-8-29 14:52:00 | 显示全部楼层

Re:渲染水的时候,如何得到水面到水底的深度数据?

建议采用2楼所说的Caustics Mapping

12

主题

27

帖子

27

积分

注册会员

Rank: 2

积分
27
 楼主| 发表于 2007-8-29 16:32:00 | 显示全部楼层

Re:渲染水的时候,如何得到水面到水底的深度数据?

多谢各位,我试试
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 02:53

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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