步履蹒跚
知其然,知其所以然 - real-time rendering.
posts - 85, comments - 172, trackbacks - 0, articles - 0
还是关于Automatic Texture-Coordinate Generation
Posted on 2004-12-30 16:04
Pointer
阅读(572)
评论(1)
编辑
收藏
所属分类:
开发随笔
多谢tomb4的指点,发现原来AutoTexCoordGen中最根本的一点被我理解错了。
Object Linear模式并不是在Object Space中以默认投影点做Projective,Eye Linear模式也并非是在Eye Space中以默认投影点做Projective,这是最关键的一点。基于这一点的理解错误,对于Eye Linear模式的TexGen和Object Linear模式的TexGen的结果正确与否的判断也相应错误了。
两者的区别在于:Object Linear模式是基于Object Space中的点做变换的,Eye Linear模式是基于Eye Space中的点做变换的,在TexGen后没有做ModelView变换的情况下,两者的最终结果是相同的,都是基于Projector点(如果没有专门的Projector变换就是指最初的投影点)做Projective获得TexCoord。不同的仅在于参数所使用的Coordinate System。如果TexGen后做了ModelView变换,Object Linear模式不发生变换,Eye Lienar模式则会累加这段变换。
若定义变量如下:
V
o
顶点在object space中的坐标
V
e
顶点在eye space中的坐标
V
t
顶点的纹理坐标
M
p
传入的平面参数
M
b
纹理偏移矩阵
M
e
最终的model view matrix
M
g
TexGen时的model view matrix
M
m
M
g
到M
e
中间所进行的变换
则AutoTexCoordGen的公式为:
object linear模式:
V
t
= M
b
* M
p
* V
o
eye linear模式:
V
t
= M
b
* M
p
* M
g
-1
* V
e
其中,因为:M
e
= M
g
* M
m
=> M
e
* M
m
-1
= M
g
* M
m
* M
m
-1
=> M
g
= M
e
* M
m
-1
所以eye linear模式又可以变换为:
V
t
= M
b
* M
p
* (M
e
* M
m
-1
)
-1
* V
e
= M
b
* M
p
* M
m
* M
e
-1
* V
e
= M
b
* M
p
* M
m
* V
o
对比object linear模式的公式就可以比较清楚的区分两者的不同了。
关于这一点,
NV在ProjTex的文档
里面要讲的详细一些,RedBook也没有错,它里的公式实际上是没有进行过M
m
变换的,所以两者结果完全相同。不过这真是误导人啊。
另外验证RedBook结论的试验也是错误的,当时没有弄清楚M
g
是在何时传入固定渲染管线的。
看来我还是太笨了。
Feedback
#1楼
[
楼主
]
回复
引用
查看
2004-12-30 16:27 by
Pointer
还可以对Projector进行变换,变换结果矩阵和Mb累加后用TextureMatrix传入固定渲染管线。
社区
新闻
新用户注册
刷新评论列表
标题
姓名
主页
Email
(只有博主才能看到)
验证码
*
看不清,换一张
[
登录
][
注册
]
内容(请不要发表任何与政治相关的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
该文被作者在 2004-12-31 09:18 编辑过
相关文章:
关于IE问题,请教和求救
终于干掉了默认的输入法, 关于ctfmon.exe文件
不知道哪里有关于OGL Automatic Texture-Coordinate Generation过程的详细说明
关于xp开机密码的破解 [失效]
关于Windows XP正版验证
关于破解
相关链接:
所属分类的其他文章:
TJ3@ChinaJoy07
TJ3 Demo2.0 完成!!
最近挺无聊
次表面散射 - 续
次表面散射
Glow
ASCII效果
GPU Gems I 中文版
涂鸦的Origo Engine
新年了!
最新IT新闻:
淘宝网合并阿里妈妈 专家称阿里巴巴或有新战略
微软研究院发布 AutoCollage - 整理并融合照片
2008年9月5日科技博客精选
SNS网站风靡影响工作效率 公司下令封杀
《孢子》正式发布
博客园新闻频道
博客园首页
社区
Powered by:
博客园
Copyright © Pointer
导航
博客园
首页
新随笔
联系
订阅
管理
<
2004年12月
>
日
一
二
三
四
五
六
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
与我联系
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
留言簿
(34)
给我留言
查看留言
我参与的团队
计算机图形学(0/395)
随笔分类
技术资料(30)
开发随笔(53)
原创文章(2)
随笔档案
2007年7月 (1)
2007年2月 (1)
2006年6月 (1)
2006年2月 (3)
2006年1月 (5)
2005年12月 (2)
2005年10月 (2)
2005年4月 (2)
2005年3月 (14)
2005年2月 (5)
2005年1月 (5)
2004年12月 (14)
2004年11月 (3)
2004年10月 (3)
2004年9月 (9)
2004年8月 (9)
2004年7月 (6)
BLOGS
air3d
AntSam
Azure
Chaos
chaz
CodeBoy
Eji
gongminmin
IceSharK
kaikai
Kane
nicky
sevecol
xheartblue
千里马肝
LINKS
CSDN - 游戏开发
Frustum
GameRes
Humus
计算机图形学团队
中国游戏开发者
积分与排名
积分 - 85894
排名 - 449
最新评论
阅读排行榜
1. depth peeling(4803)
2. IEEE浮点数表示法(3988)
3. NVIDIA官方中文版GPU编程指南v2.20(转载自GZeasy)(3029)
4. DirectX 9.0 SDK Update - (February 2005)(2624)
5. 如何计算投影纹理坐标(2509)
6. hdr lighting step 1 - tone map(2492)
7. GPU Gems I, Chapter 28 中文翻译(2465)
8. 如何计算投影纹理坐标 - 补充(2428)
9. Planar Shadow中Shadow Matrix的推导(2425)
10. GLSL入门资料(2384)
评论排行榜
1. 两道挺有意思的思考题(20)
2. 求职中(14)
3. GLSL入门资料(11)
4. Planar Shadow中Shadow Matrix的推导(9)
5. Md5 Loader Demo(9)
6. 嗯嗯嗯...(8)
7. shadow mapping with glsl(8)
8. 如何计算投影纹理坐标 - 补充(8)
9. 半条命2神奇渲染引擎揭密 (转载自PCPOP.com)(6)
10. Relief Mapping(6)