游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5731|回复: 10

再提一个关于tangent space normal map的问题

[复制链接]

65

主题

518

帖子

521

积分

高级会员

Rank: 4

积分
521
发表于 2005-6-30 20:22:00 | 显示全部楼层 |阅读模式
前段时间我还自以为实现了 per pixel point light呢,昨天夜里又发现一个问题:
  我发现mesh的texture coordinate的设置会严重影响tangent的求解,导致我得不到正确的效果.我是采用把world space中的light vector在PS里转换到tangent space的方法来算的.Normal map肯定没错,light vector也没问题. 可是我在3DsMAX里建的方盒有些面可以正确渲染,有些就不成.而它们的区别我觉得也就剩下Texture coords了. 记得GPU Gems里有篇文章提到,在softimage|XSI中应用bump shader前计算tangent时要求尽量让texture coords连续,说不连续处往往会有错误. 我用EffectEdit, tangent我也没法算,全靠它自动提供.既然tangent我改不了,那我应该怎么办?是不是在做3D建模时有什么规则来设置texture coords?

贴张截图说明问题:
sf_2005630202142.jpg

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2005-6-30 20:44:00 | 显示全部楼层

Re:再提一个关于tangent space normal map的问题

一般的normal map,都是先在vs中将光转到正切空间,然后ps中的光向量,实际上是经过插值的。

65

主题

518

帖子

521

积分

高级会员

Rank: 4

积分
521
 楼主| 发表于 2005-6-30 22:26:00 | 显示全部楼层

Re:再提一个关于tangent space normal map的问题

我原先也在VS里做变换,可插出来的结果实在不尽人意,我也说不清为什么.
不过在哪插值与此问题好像没什么关系,我现在就想知道texture coords 是否有什么特殊的要求. 或者怎么解释上述现象.

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2005-7-1 11:02:00 | 显示全部楼层

Re:再提一个关于tangent space normal map的问题

渲染时的texcoord必须要和你创建nmap时的texcoord一致。

65

主题

518

帖子

521

积分

高级会员

Rank: 4

积分
521
 楼主| 发表于 2005-7-1 11:24:00 | 显示全部楼层

Re:再提一个关于tangent space normal map的问题

不太明白,渲染时和创建时的texcoords是一样的啊.怎么会不一样呢?
那我若在一个大表面上用张小texture重复tile会不会出错啊?

4

主题

17

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2005-7-1 18:03:00 | 显示全部楼层

Re:再提一个关于tangent space normal map的问题

65

主题

518

帖子

521

积分

高级会员

Rank: 4

积分
521
 楼主| 发表于 2005-7-1 18:15:00 | 显示全部楼层

Re:再提一个关于tangent space normal map的问题

像我现在想要把同一张normal map贴在房间内的六面墙上,应该不是像normal mapper那样bake一张含有六个面的展开图吧.

65

主题

518

帖子

521

积分

高级会员

Rank: 4

积分
521
 楼主| 发表于 2005-7-1 18:53:00 | 显示全部楼层

Re:再提一个关于tangent space normal map的问题

我又发现,从3DsMAX导出的模型若贴图坐标是连续的,确实没问题. 比如,只输出一个大平面,那它怎么渲染都行,但在加上其他的mesh,即使两者毫不相干,它,们也被看成一个mesh来渲染. 这样一来原先还是正确平面也有可能发生错误.  难道Thief3的墙壁,地面都是一个又一个分立的平面做变换后搭建起来的?

33

主题

118

帖子

173

积分

注册会员

Rank: 2

积分
173
发表于 2005-7-3 10:45:00 | 显示全部楼层

Re:再提一个关于tangent space normal map的问题

室内场景如果用BSP分割的话,确实墙壁呀地面呀都是一个又一个分立的平面,因此渲染的时候也要一个一个平面去渲染。

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2005-7-3 12:33:00 | 显示全部楼层

Re:再提一个关于tangent space normal map的问题

如果使用整个模型而不分开渲染,会由于texcoord过滤的问题产生一些不好的效果。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-26 07:03

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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