无法在Stage3D中将矢量上传到片段着色器

时间:2013-03-10 17:01:29

标签: flash stage3d agal

我正在尝试将矢量上传到着色器,但它无法正常工作,我可以找到原因。

以下是代码:

mov ft0.rgb, fc0.rgbb
tex ft1, v1.rggg, fs0 <2d, linear, nomip, repeat>
mov ft0.a, ft1.aaaa
mov oc, ft0

其中fc0是我要上传的矢量:

使用此函数,我在drawTriangles之前调用并显示:

Engine.context.setProgramConstantsFromVector(Context3DProgramType.FRAGMENT, 0, Vector.<Number>([value1, value2, value3]));

我用Adobe Scout调试了场景,显然fc0没有价值。

如果我将ft1的最后一个ft0替换为ft1,那么因为我只渲染纹理。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您上传的矢量中至少需要包含4个元素。

请参阅the description of the data parameter on this page