作者newJoey (newJoey)
看板GameDesign
标题[程式] pixel shader基础问题
时间Sat Jan 4 20:31:40 2014
看书上pixel shader是在rendering pipeline中rasterization之後的步骤
我也懂rasterization是将顶点资料转换成像素资料後的处理
也就是把空间立体画面变成平面像素
书上也有说pixel shader是针对"每一个像素"做运算
但我不大懂这句话
那为何pixel shader内传输入的资料
怎麽又会是vertex shader的输出?
还是是这样:
假设画面画一个三角型
vertex shader算出"三个由顶点"转换出的"三个像素"座标
pixel shader程式是只是计算像素中"三个像素"
而其它的三角形内的像素
则由"GPU自行内插完成"?
意思是这样吗?
还是我的解读是错误的
那正确应该是怎样?
此外
shader程式在"国内"除了游戏
还有什麽样的工作会使用到?
有其它业界有用到我们平常人不知道的吗?
正在疑惑中...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.192.167.209
1F:推 NDark:对.你的理解没有甚麽错误. 01/04 20:59
3F:→ azureblaze:verter输出除了座标之外还可以有UV颜色之类的资讯 01/04 21:37
4F:→ azureblaze:这些gpu会帮你内插好然後当作pixel的输入 01/04 21:37
5F:推 SoYoungBlues:有些比较大型的动画公司会有这方面需求 01/04 22:32
6F:→ wangm4a1:错了 pixel shader并非只算3个像素,而是每个像素。 01/04 22:45
7F:推 littleshan:其实pixel shader并不是计算像素,而是计算sample 01/04 23:37
8F:→ littleshan:用到anti-aliasing时每个像素会有多个sample 01/04 23:38
9F:→ newJoey:所以是指GPU可以算出"内差刚好在平面座标内的vertex数值"? 01/05 00:39
10F:→ newJoey:再带入pixel shader内当参数? 01/05 00:39
12F:推 Bencrie:以旧版的 GLSL 来说就是 varying 宣告的变数 01/05 09:34
13F:推 akilight:我听说一些动画公司有打算用UDK之类的来拍机造动画 01/05 09:39
14F:→ akilight:也会需要用到shader,可以参考 01/05 09:39
15F:→ iamlala:pixel shader 是对每个fragment做计算 01/06 01:23
16F:→ SoYoungBlues:楼楼上说的应该是"壹"家动画公司 不是一些吧XD 01/06 04:41
17F:推 NDark:楼上有梗 01/06 09:30
18F:推 akilight:本来想说不要说那麽明阿XDDD 01/06 11:06