我想要一个像素着色器 om AGAL,它不是简单地将从顶点着色器传递给它的颜色复制到输出,而是仅从传递的颜色复制红色分量并将绿色和蓝色分量设置为零。在伪代码中:
temp = 0
temp.red = in.red
temp.alpha = in.alpha
out = temp
我不知道如何在 AGAL 中写这个。以下不这样做:
mov ft0.ra, v0.ra
mov oc, ft0
我怎样才能得到我想要的结果?
我想要一个像素着色器 om AGAL,它不是简单地将从顶点着色器传递给它的颜色复制到输出,而是仅从传递的颜色复制红色分量并将绿色和蓝色分量设置为零。在伪代码中:
temp = 0
temp.red = in.red
temp.alpha = in.alpha
out = temp
我不知道如何在 AGAL 中写这个。以下不这样做:
mov ft0.ra, v0.ra
mov oc, ft0
我怎样才能得到我想要的结果?
你必须记住
假设
所以这是你的片段着色器:
// 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
资料来源:我为 AGAL 编译器编写了 Minko 的 ActionScript 3。