0

ベクトルをシェーダーにアップロードしようとしていますが、うまくいきません。理由がわかりました。

コードは次のとおりです。

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 には価値がありません。

最後の ft0 を ft1 に置き換えると、テクスチャのみをレンダリングしているので機能します。

助言がありますか?

4

1 に答える 1

1

アップロードするベクターには、少なくとも 4 つの要素が含まれている必要があります。

このページの data パラメータの説明を参照してください。

于 2013-03-10T17:15:17.477 に答える