请选择 进入手机版 | 继续访问电脑版

开源计算机图形学社区(Open Source Computer Graphics Community) |OpenGPU Forum (2007-2013)| OpenGPU Project

 找回密码
 注册
搜索
查看: 642|回复: 2

球谐光照的一个疑问,望大神解惑 [复制链接]

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

注册时间
2010-3-27
积分
5844
发表于 2017-5-2 11:49:52 |显示全部楼层
近期学习了下球谐光照,大致理解其思路,存在一个问题
1、球谐函数的第二个性质是旋转不变性(好象没有那篇文章介绍过,求大神给予提示),在运用上,我对其旋转不变性的理解为:光源围绕场景旋转时(就是环境立方体贴图旋转),PRT的计算数据依然可以使用,使用Shader依然可以正确计算结果。是否正确?
2、求谐函数应该译成球面调和函数更准确些(数学上已经有了此译法了,有些文献依然为球谐,虽然译成球谐更能反映此函数的功能),不然又将half life译成半条命(正确应为半衰期)。
这家伙什么也没有留下

Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28Rank: 28

注册时间
2009-3-31
积分
14321
发表于 2017-5-4 11:28:01 |显示全部楼层
1. 旋转不变性在非常多文章里都介绍过啊。不是“依然可以使用”,而是可以直接旋转SH系数。

假设f(x)是把用一个cubemap转成SH系数的函数,那么如果f(x)有旋转不变性,就表示它符合
f(rot * x) = rot * f(x)
所以一旦旋转了,你直接把之前得到的SH系数拿去旋转就可以了,不必重新从cubemap分解。

wavelet就没有旋转不变性,所以每次旋转之后,都得重新分解成系数。这在很大程度上限制了wavelet在PRT里的的应用。

2. 我见过的很多都是直译成球面调和函数。不过既然有SH这么简单的说法,其实几乎所有时候都用SH。

使用道具 举报

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

注册时间
2010-3-27
积分
5844
发表于 2017-5-4 13:54:31 |显示全部楼层
感谢龚关注回复。看了些材料,就是说f(rot * x) = rot * f(x),没有太理解如何得到。

使用道具 举报

最近看过此主题的会员

您需要登录后才可以回帖 登录 | 注册

‹‹
我的工具栏

关于我们|手机版|Archiver|开源计算机图形学社区(Open Source Computer Graphics Community) | OpenGPU Project | OpenGPU Forum (2007-2013)

GMT+8, 2017-5-27 04:45 , Processed in 0.046542 second(s), 11 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部