游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1587|回复: 3

请问一个顶点着色的问题

[复制链接]

64

主题

272

帖子

272

积分

中级会员

Rank: 3Rank: 3

积分
272
发表于 2007-12-18 22:49:00 | 显示全部楼层 |阅读模式
着色器是否一定要对输入的顶点进行取景变换(viwematrix * projmatrix??)?

书上的例子着色器程序里顶点的位置计算是:output.position = mul(input.position, ViewProjMatrix);

但光的方向却是: lightdirection = mul(lightdirection, ViewMatrix);

法向量(输入点的法向量)的计算也是用的ViewMatrix,为什么同个程序段里用的两种不同的变换 [em21]

7

主题

41

帖子

49

积分

注册会员

Rank: 2

积分
49
发表于 2007-12-19 10:46:00 | 显示全部楼层

Re:请问一个顶点着色的问题

是否要进行变换,取决于你的输入,以及你的输出.

光照方向没有进行Proj变换是因为,处理光照一般在View坐标系中进行,进行Projection变换后,己经丢失了3D信息,是没有办法进行光照处理的.而且也没必要在这一步计算光照.

64

主题

272

帖子

272

积分

中级会员

Rank: 3Rank: 3

积分
272
 楼主| 发表于 2007-12-19 10:53:00 | 显示全部楼层

Re:请问一个顶点着色的问题

大概明白yndfcd的意思了,即使我不在这里对位置进行proj在程序外面也要进行一次proj吧?

而那个光照如果用了proj就不能计算与法向量的夹角,从而就不能判断反射的强度了吧?

7

主题

41

帖子

49

积分

注册会员

Rank: 2

积分
49
发表于 2007-12-19 17:36:00 | 显示全部楼层

Re:请问一个顶点着色的问题

对.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-18 07:42

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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