游戏开发论坛

 找回密码
 立即注册
搜索
查看: 6029|回复: 5

不知道怎么用shader里的pass?

[复制链接]

65

主题

518

帖子

521

积分

高级会员

Rank: 4

积分
521
发表于 2005-3-22 20:29:00 | 显示全部楼层 |阅读模式
刚学shader,不知道shader里的pass到底是怎么回事,现在只感觉一个pass不够,又不会使多pass.

65

主题

518

帖子

521

积分

高级会员

Rank: 4

积分
521
 楼主| 发表于 2005-3-23 00:02:00 | 显示全部楼层

Re:不知道怎么用shader里的pass?

顶.
有谁正用render monkey,里面的文档太粗略了.

22

主题

274

帖子

274

积分

中级会员

Rank: 3Rank: 3

积分
274
发表于 2005-3-23 12:39:00 | 显示全部楼层

Re:不知道怎么用shader里的pass?

一个PASS就是从管线头进去到出来,数据过了一遍,简单讲一个PASS就是管线走一遍.
所以呢,多PASS呢就是渲染多道了,当前PASS在前一PASS的基础上(就是被前一PASS改变了的各个BUFFER里的数据和状态)开始渲染.
最好一个PASS能做完,多个PASS当然会慢,但限于硬件和设计上考虑,用多PASS也是必要的.

22

主题

274

帖子

274

积分

中级会员

Rank: 3Rank: 3

积分
274
发表于 2005-3-23 12:44:00 | 显示全部楼层

Re:不知道怎么用shader里的pass?

用多PASS很简单,比如FX,在你的TECHNIQUE里为你的P0,P1..分别指定状态和VS,PS就行了,看SDK带的例子.

65

主题

518

帖子

521

积分

高级会员

Rank: 4

积分
521
 楼主| 发表于 2005-3-23 20:12:00 | 显示全部楼层

Re:不知道怎么用shader里的pass?

谢谢.看了effect edit里的glow.fx
在那个例子里,pass和pass之间用alpha blend进行混合.不过srcblend和destblend是什么意思我还不太清楚.

22

主题

274

帖子

274

积分

中级会员

Rank: 3Rank: 3

积分
274
发表于 2005-3-24 12:31:00 | 显示全部楼层

Re:不知道怎么用shader里的pass?

BLEND是把2种颜色混合,是当前颜色(新的PASS产生的颜色)乘上一个因子(SRCBLEND),目标颜色(已经在颜色BUFFER里的)乘上另一个因子(DESTBLEND),再按指定的混合操作处理这两个积,结果写入对应像素的颜色BUFFER,下一个PASS再重复之,直到调用PRESENT把图像交换到前BUFFER显示出来.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-24 23:13

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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