首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅将红色分量写入AGAL像素着色器输出

仅将红色分量写入AGAL像素着色器输出
EN

Stack Overflow用户
提问于 2013-03-05 23:24:55
回答 1查看 508关注 0票数 1

我想要一个像素着色器,而不是简单地将传递给它的颜色从顶点着色器复制到输出,只复制传递的颜色中的红色分量,并将绿色和蓝色分量设置为零。在伪代码中:

代码语言:javascript
复制
temp = 0
temp.red = in.red
temp.alpha = in.alpha
out = temp

我不知道怎么用AGAL写这个。下面的代码不能做到这一点:

代码语言:javascript
复制
mov ft0.ra, v0.ra
mov oc, ft0

怎样才能得到我想要的结果?

EN

回答 1

Stack Overflow用户

发布于 2013-04-11 03:14:47

你必须记住这一点

  • 在目标寄存器右侧使用".something“意味着您正在使用掩码
  • 在源寄存器右侧使用".something”意味着您正在使用swizzle。

假设这样做

  • fc0在第一个分量中包含零
  • v0包含要从中提取红色分量

的颜色

所以这是你的片段着色器:

代码语言:javascript
复制
// shader.
mov ft0, fc0.xxxx     // fill ft0 with zeros
mov ft0.xw, v0.xxxw   // fill ft0.x with v0.x and ft0.w with v0.w
mov oc, ft0

来源:我把Minko的ActionScript 3写给了AGAL编译器。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15227573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档