游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2817|回复: 7

做逐像素光照的BumpMap使用三维纹理的目的是什么?

[复制链接]

36

主题

109

帖子

109

积分

注册会员

Rank: 2

积分
109
发表于 2005-10-8 08:25:00 | 显示全部楼层 |阅读模式

最近看到一个这样的OpenGL程序,里面用三维纹理绘制逐像素光照(就是DOOM3使用的那种),怎么会用到三维纹理呢?三维纹理不是在游戏中基本不应用的吗?

glMultiTexCoord3fARB(GL_TEXTURE1_ARB, TBNMatrix[0][0].x, Matrix[0][0].y, Matrix[0][0].z);

64

主题

855

帖子

856

积分

高级会员

Rank: 4

积分
856
QQ
发表于 2005-10-8 11:03:00 | 显示全部楼层

Re:做逐像素光照的BumpMap使用三维纹理的目的是什么?

你说的是不是CubeMap?我还没做过CubeMap,不过Per Pixel Lighting和Bump Shadow不用CubeMap也可以做到的。

64

主题

855

帖子

856

积分

高级会员

Rank: 4

积分
856
QQ
发表于 2005-10-8 13:41:00 | 显示全部楼层

Re:做逐像素光照的BumpMap使用三维纹理的目的是什么?

有不少例子是用CubeMap做的BumpMap、BumpShadow
比如http://www.humus.ca/index.php?page=News&&start=48

18

主题

47

帖子

47

积分

注册会员

Rank: 2

积分
47
发表于 2005-10-8 13:52:00 | 显示全部楼层

Re:做逐像素光照的BumpMap使用三维纹理的目的是什么?

这个三维纹理的函数glMultiTexCoord3fARB应该是把法线,副法线还有切线存储的吧!

0

主题

18

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2005-10-8 14:06:00 | 显示全部楼层

Re:做逐像素光照的BumpMap使用三维纹理的目的是什么?

那个Volume lightmapping 就是用TEXTURE3D

2

主题

50

帖子

58

积分

注册会员

Rank: 2

积分
58
发表于 2005-10-8 18:24:00 | 显示全部楼层

Re:做逐像素光照的BumpMap使用三维纹理的目的是什么?

这个3d texture基本上是用于attenuation map。在pre-DX9硬件里如NV20如果要做1 pass ppl(bumpmapping),要做像素级的衰减还必须要3d texture(1d falloff+2d projtex要占用2个TMU),L,H的归一化可以近似处理。R200限制就要小一些。
另cubemap作归一化会导致一定程度的denormalization,对高频信息如specular来说容易造成aliasing。所以N,H的归一化最好不用cubemap。

5

主题

63

帖子

63

积分

注册会员

Rank: 2

积分
63
发表于 2005-10-8 20:23:00 | 显示全部楼层

tomb4真是牛人啊

果然是:行家伸伸手,就知有没有

2

主题

50

帖子

58

积分

注册会员

Rank: 2

积分
58
发表于 2005-10-8 23:26:00 | 显示全部楼层

Re:做逐像素光照的BumpMap使用三维纹理的目的是什么?

呵呵,楼上的兄台过讲了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-28 01:34

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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