游戏开发论坛

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

辐射度光照演示(cg)

[复制链接]

32

主题

1259

帖子

1351

积分

金牌会员

Rank: 6Rank: 6

积分
1351
发表于 2006-5-22 17:34:00 | 显示全部楼层 |阅读模式
场景中的所有物体,既是受光体也是发光体, 所以物体最后的光照色彩是受周围物体反射光的影响, 但OPENGL提供的光照模型,并不拥有这种特性,以为基本光照模型都假定光源是一个点, 但在真实环境下, 辐射光源的并不是一个点而是一个有体积的物体. 这样如果将一个大体积的物体辐射的光源近似成一个点光源的话,就会很不真实的.在这个DEMO中,提供了一种新的光照方法来实现这种辐射度光照.

大体步骤如下:
1. 将场景渲染到一张cubemap中, 用来查询周围的光源辐射情况.
2. 在PS中, 以一个图素向四面八方均匀射出向量(采样向量越多,光照效果越真实), 通过向量查询cubemap, 同时有一个亮度系数lightfactor, 它等于辐射向量与当前图素法向量的夹角的余旋,既越靠近法线的采样向量, 采样得到的颜色所占的权重越大.
3. 最后将最后采样的颜色叠加, 得到此图素最后的色彩.

DEMO下载:
http://www.azure.com.cn/article.asp?id=199

sf_2006522173333.jpg

32

主题

1259

帖子

1351

积分

金牌会员

Rank: 6Rank: 6

积分
1351
 楼主| 发表于 2006-5-22 17:34:00 | 显示全部楼层

Re: 辐射度光照演示(cg)

picture 2
sf_200652217349.jpg

5

主题

686

帖子

697

积分

高级会员

Rank: 4

积分
697
QQ
发表于 2006-5-22 18:13:00 | 显示全部楼层

Re:辐射度光照演示(cg)

哈哈。。。这个方法真的很不错啊,不过没法计算出周围物体的光线反弹、遮蔽和散射,现在一般的辐射度都是用SH来完成的

8

主题

122

帖子

122

积分

注册会员

Rank: 2

积分
122
发表于 2006-5-22 22:22:00 | 显示全部楼层

Re:辐射度光照演示(cg)

要用射线跟踪或者辐射度来搞实用的实时渲染估计还得过几年。

15

主题

1268

帖子

1268

积分

金牌会员

Rank: 6Rank: 6

积分
1268
发表于 2006-5-23 09:19:00 | 显示全部楼层

Re:辐射度光照演示(cg)

不错。对静态物体很有用

201

主题

1437

帖子

1963

积分

金牌会员

Rank: 6Rank: 6

积分
1963
QQ
发表于 2006-5-23 15:20:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-24 14:08

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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