問題タブ [agal]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1994 参照

actionscript - Agal を使用して Stage3D のビットマップに線を描画するには?

Agal を使用して Stage3D のビットマップに線を描画するにはどうすればよいですか? 誰かがコード例を提供できますか?

0 投票する
3 に答える
153 参照

adobe - AGAL では、createVertexBuffer メソッドで最大値が 64 の data32PerVertex があるのはなぜですか?

この 64 の値がわかりません...私が理解したところでは、最大 8 つのレジスタがあり、それぞれのサイズは 128 ビット (4 data32) です。

32 以上のデータにアクセスできないのでしょうか? 私が間違っている ?頂点に格納できる他の 32 個の data32 は何ですか?

ありがとう

0 投票する
1 に答える
593 参照

actionscript - Stage3D/AGALを使用したシンプルなフラットシェーディング

私は3D開発に比較的慣れておらず、現在Actionscript、Stage3D、AGALを使用して学習しています。フラットシェーディングの単純な手続き型メッシュでシーンを作成しようとしています。ただし、照明用のシェーダーにサーフェス法線を渡す方法に固執しています。三角形ごとに単一のサーフェス法線を使用し、それぞれにフラットで均一なシェーディングを実行したいと思います。各頂点の法線を使用して見栄えの良い照明を実現するのは簡単ですが、これが私が求めている外観です。

シェーダーは通常、すべての三角形ではなくすべての頂点を処理するので、頂点ごとに1つではなく、三角形ごとに1つの法線を渡すことは可能ですか?私の考えはここで完全にずれていますか?シンプルでフラットなシェーディングを行う実例があれば、ぜひ感謝します。

0 投票する
2 に答える
486 参照

actionscript-3 - AGAL ヘルプ: 2D テクスチャ、2D レンダリングで、agal を使用して、プログラム定数からの x、y オフセットで頂点を計算する方法

誰かが私のアガルの質問に光を当ててくれることを願っています:

64x64 の固定サイズのテクスチャがあります。UV と頂点も固定されます。

次に、2D ステージで移動する必要があります。

私が現在使用している方法は、このテクスチャから三角形を描画するたびに新しい頂点を計算してアップロードすることです。

VertexBuffer3D.uploadFromByteArray の処理にかなりの時間がかかることがわかりました。

agal でこれを行うためのよりスマートな方法があるに違いないと私は信じています。

Vertex Shade の定数レジスタで x、y オフセットを渡し、agal で頂点サイズを計算できますか?

これが可能である場合、どうすればそれを行うことができますか?

0 投票する
1 に答える
1121 参照

performance - 2チャンネル法線マップのパフォーマンスコストとデメリットは何ですか?

私がやっていることは、法線マップを使用して2Dスプライトを照らすことです。もともと私は画像の赤チャンネルでバンプ/高さマップを使用し、他の2つのチャンネルを使用して他の情報を保存するつもりでした。私が思ったのは、法線マップ上の法線は常に[0 .. 1]の範囲のaz値を持つことがわかっているので、この情報を青チャンネルから除外し、xの長さに基づいてz値を計算できるということでした。およびy値。それで試してみましたが、今のところうまくいくようで、オリジナルとほぼ同じに見えます。

私の質問は、追加の指示の費用はいくらですか?いくつかの追加の乗算と加算、およびさらに2つの平方根呼び出しがあります。

使用されるフラグメントシェーダーは次のとおりです。

0 投票する
1 に答える
372 参照

actionscript-3 - AdboeAGALはレジスターについて混乱しています

私はレジスターについて少し混乱しています。

この記事では、 http://www.adobe.com/devnet/flashplayer/articles/what-is-agal.html

2行のAGALコードがあります

最初の行は計算結果をopレジスタに入れましたが、2番目の行はopレジスタを操作しませんでした。

では、最初の行を実行する意味は何ですか?

また、私はデモを見つけました:

頂点シェーダーでは、上の3行も結果をopに入れますが、4行目はそれを使用していません。

それで、それはどういう意味ですか?

ありがとう

0 投票する
3 に答える
764 参照

actionscript-3 - AS3 Stage3D AGALを使用してCUDAのような処理を実現できますか?

320x240のストリームランタイムでボールを検出するプログラムがありますが、より大きな解像度をストリーミングすると、速度が遅くなります。GPUを使用して各ピクセル(隣接するフレームと隣接するピクセルを含む)を計算できれば、より高速になると思います。AGALを使用してGPUからデータを取り戻すことができるかどうか誰かが知っていますか?

並べ替えると、フレームの各ピクセルを通過するループが以下にあります。パフォーマンスを向上させるために、GPUで最も多く計算したいと思います。

0 投票する
2 に答える
1129 参照

actionscript-3 - 重心座標をAGALシェーダーに渡すにはどうすればよいですか?(AGALワイヤーフレームシェーダー)

AGALforStage3Dで作成したシェーダープログラムを使用してワイヤーフレームエフェクトを作成したいと思います。

私はグーグルをしていて、頂点プログラムを介してフラグメントプログラムに渡される重心座標(BC)を使用して、ピクセルが三角形のエッジにどれだけ近いかを判断し、十分に近い場合はそれに応じて色を付けることができることを理解しています。

私の混乱は、この情報をシェーダープログラムに渡すためにどの方法を使用するかということです。立方体、8つの頂点、およびそれらを使用する間に三角形を描画するためのインデックスバッファを設定した簡単な例があります。

BCを頂点バッファーに配置する場合、レンダリングされる三角形に応じて異なる必要があるため、それは意味がありません。たとえば、Vetex1はVetex2とVetex3でレンダリングされる場合は(1,0,0)が必要になる場合がありますが、Vetex5とVetex6でレンダリングされる場合は別の値が必要になります。おそらく私はその方法を完全には理解していません。

頂点の位置を複製し、追加のデータを頂点バッファーに追加する必要がありますか?基本的に、三角形ごとに3つの頂点を作成し、頂点の数を3倍にしますか?頂点に常に(1,0,0)、(0,1,0)、または(0,0,1)の値を与えるのですか、それとも単なる例ですか?私はこれを複雑にしすぎていますか?シェーダーとStage3dでワイヤーフレームを行う簡単な方法はありますか?

それが私の問題を完全に説明することを願っています。答えは大歓迎です、ありがとう!

0 投票する
1 に答える
240 参照

actionscript-3 - この AGAL 出力は正しいですか?

このシェーダーを変換しようとしています:

結果として(この出力はあなたによく見えますか?または何かが欠けています):

しかし、AGAL頂点シェーダーを非常に単純な作業に変更すると、何も表示できません。

次の方法で GLSL を AGAL に変換するときに、定数を追加します。

そして、次のようにすべてのバッファーを準備します。

助言がありますか?

0 投票する
1 に答える
444 参照

flash - Flash と AGAL: 法線ベクトルを適切に補間する方法

ゲームEchochromeのように、サーフェスのエッジ (ポリゴンではなく!) を描画できるシェーダーのセットを作成しようとしています。

グラフィックス プログラミングで覚えていることによると、これを行うためのテクニックは、マルチパス レンダリングを作成することです。最初のパスでは、面の法線ベクトルと深度を RGBA カラーとしてエンコードし、これらをテクスチャに描画する必要があります。2 番目のパスでは、テクスチャ内の値を検索し、現在のフラグメントの法線または深度情報が周囲のテクセルの法線または深度と大幅に異なる場合、エッジを描画する必要があります。

(注:これを行う簡単な方法があれば、特にFlashで簡単にできる場合は教えてください。ただし、私の具体的な質問は次のとおりです。)

最初のパスのプログラミングで問題が発生しました。DirectX 9.0c を使用した 3D ゲーム プログラミングの紹介 で読んだことから:フランク D. ルナによるシェーダー アプローチ、法線ベクトルを「補間」する正しい方法は、三角形の頂点の法線ベクトルを平均してから、それを使用することです。表面上のすべてのフラグメントの値。ただし、私のフラグメント シェーダーは代わりに法線ベクトルを補間しているため、サーフェスの単色ではなくグラデーションが描画されます。

補間の代わりに AGAL に必要な平均化を行わせるにはどうすればよいですか?