从VertexShader的输出到PixelShader的输入,这中间的过程是怎么样的?

NoiseGrinder 2010-04-14 10:57:53
加精
问题如下:
1.从VertexShader的输出到PixelShader的输入,这期间经历了什么样的过程?怎么由顶点信息变为像素信息的?
2.既然Pixel Shader是操纵像素,也就是光栅话之后,都已经是2D的了,为什么我还能对每个像素进行三维的运算?像光照计 算,聚光灯角度计算。
3.为什么传入像素着色器的很多信息都要用:TEXCOORD标识?像法线向量要用:TEXCOORD,而不是:NORMAL,这有什么好处?
4.在ShadowMap中,以光源为摄像机,经过投影变换后,为什么z/w就是0到1的深度信息?

最近在研究ShadowMap,遇到了很多比较基础的问题。。

...全文
1454 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
doudoullihaijun 2010-04-18
  • 打赏
  • 举报
回复
ddddddddddddddddddddddddddddddddddddddddd
Super_Franky 2010-04-17
  • 打赏
  • 举报
回复
嗯, 很好很强大, 支持一下
doudoullihaijun 2010-04-16
  • 打赏
  • 举报
回复
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
weike5188 2010-04-16
  • 打赏
  • 举报
回复
好东西大家用
A-SHIN 2010-04-15
  • 打赏
  • 举报
回复
顶一下
CSharp_XinBing1 2010-04-15
  • 打赏
  • 举报
回复
是啊,要学会用SHADOW MAP,必须要先搞明白坐标转换的每个阶段.
之后实现SHADER效果,基本上都是各个阶段坐标混用了.
比如在屏幕坐标下, 要用视坐标下的数据进行计算.
NoiseGrinder 2010-04-15
  • 打赏
  • 举报
回复
翻了很多DX游戏编程的书,对于渲染管线,里面大部分都只着重讲了World和View的变换方式,而后面本分几乎就提了一些。今天翻了几本计算机图形学的书,然后看了下DX SDK 文档,终于弄懂,转换也成功了,就差最后那一步用深度检验的了。。
doudoullihaijun 2010-04-15
  • 打赏
  • 举报
回复
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
xiaoguizl 2010-04-15
  • 打赏
  • 举报
回复
呵呵,帮你顶
ab_300 2010-04-15
  • 打赏
  • 举报
回复
梅花自苦寒来 啊
gamedragon 2010-04-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zhangci226 的回复:]
楼主,要看书哦
[/Quote]
这句话才是最重要的,没有基础就想盖高楼实在是不可取啊。
cw11651165 2010-04-15
  • 打赏
  • 举报
回复
不错 挺实用
suhan7220487 2010-04-15
  • 打赏
  • 举报
回复
很好,很喜欢
张赐 2010-04-15
  • 打赏
  • 举报
回复
看来楼主对渲染管线不理解啊,现在研究shadowmap看来早了一点。一般在固定管线中,一个顶点首先要进行model translation,转换到世界坐标系,然后通过view translation转换到相机坐标系,之后再通过投影变换到剪裁空间,并且归一化这个空间。最后通过viewport translation,然后光栅化显示。

1. 一个顶点通过vertex shader处理的时候,可以处理viewport translation之前的每个阶段。之后顶点进入pixel shader,这里一般是对光栅化的控制。

2. 在光栅化的时候要进行深度测试的,虽然是2D的像素,但是仍然要使用z-buffer测试,来决定该像素的颜色。

3. 对于一般的光照计算,比如phong光照模型,法线向量计算简单,传入每个顶点的法线后,进行插值计算即可,所以直接可以传入每个顶点法线,即使用NORMAL。但是复杂的光照效果,比如bump mapping等等,由于需要每个像素的法线信息,并且很多法线不能通过piexl shader普通插值来得到,只能从shader外部传入法线。这个时候就采用TEXCOORD,这里纹理数据保存的就是对应的每个像素的法线信息了。

4. 经过投影变换后,本来z的值就转换到了0和1之间,但是这是在其次坐标系中的表示,所以这里除以w,还原到一般坐标系。

楼主,要看书哦
binghe1979 2010-04-15
  • 打赏
  • 举报
回复
顶一下

8,305

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧