問題タブ [stage3d]

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 投票する
1 に答える
1330 参照

actionscript-3 - Away3d でソリッド ワイヤフレーム マテリアルを作成する最良の方法は?

Away3d でソリッド ワイヤフレーム マテリアルの良い例を見つけることができません。多分私は間違ったツールを使用していますか?

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

actionscript-3 - AS3 Stage3D:全体的なアルファですべての三角形をレンダリングする方法は?

私は 2D AS3 プロジェクトに取り組んでおり、さまざまなレイヤーが Stage3D を介して単一の drawTriangles() 呼び出しで単一のメッシュとしてレンダリングされます。(BunnyMark GPUSprite ミニ レンダリング エンジンに精通している場合は、アイデアが得られます: http://www.bytearray.org/?p=4074 )

私が望むのは、描画されるすべての三角形に適用され、独自のアルファ値に追加される、全体的なアルファ透明度値を使用して、これらの「レンダー レイヤー」全体の 1 つを描画することです。

IE アルファ透明度を持つテクスチャを使用したり、同じアルファを持つように各三角形を個別に設定したりして、アルファを変更するつもりはありません。描画されるすべてのアルファ値に影響を与えるマスター スイッチが必要ですか? (計算上安価なもの)

これは可能ですか?おそらく、シェーダーまたは setProgramConstantsFromVector コマンドを介してですか?

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

actionscript-3 - AS3 Stage3D フラグメントシェーダー?

これら 2 つのフラグメント シェーダーの違いを教えてください。

アルファを掛ける 2 行目だけが異なります。その結果、2 番目のシェーダー (Node2D) では、setProgramConstantsFromVector(Context3DProgramType.FRAGMENT, 0, [1,1,1,1]);を介してマスター アルファ値を渡すことができます。これにより、すべての三角形がそのアルファで描画されます。

1)誰かがその 2 行目で何が起こっているか教えてもらえますか?

2)上記が実際に行うことは、各三角形の個々のアルファ設定をオーバーライドすることです。代わりに、独自のアルファをシェーダーのアルファと 乗算して、最終的なアルファ値が= Triangle_alpha * Shader_alphaになるようにします。

(現在、2番目のシェーダーで特定の三角形に個別のアルファ値を設定することはできません。私が望むのは、各三角形に個別にアルファ値を設定し、 drawTriangles 呼び出し全体にも別のアルファ値を設定できるようにすることです)

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

flash - stage3dの頂点シェーダでのテクスチャアクセス?

stage3d および flash 11.4/air 3.4 の頂点シェーダーでテクスチャ アクセスを実行することは可能ですか?

それが不可能な場合、stage3d の GPU で 100% を維持しながら、フレームからフレームへの効率的な「ステートフル メモリ」を実装する別の方法はありますか?

ありがとう

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

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

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

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

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

flash - Stage3D に基づく 2D フレームワークの選択

Stage3D を使用して、2D グラフィックスのレンダリングを高速化したいと考えています (シェーダーを 1 つか 2 つ追加することもできます)。

私は現在 Flixel を使用しています。Flixel は、Stage3D を使用しないことを除けば、私がゲーム フレームワークに求めるほとんどすべてを提供します。したがって、本格的なゲーム フレームワークは必ずしも必要ではありません。このフレームワークが必要なのは、レンダリングの部分だけです

潜在的な候補 (ND2D、Starling、Genome2D など) をいくつか見つけましたが、それらの経験がないので、最初にここで質問するかもしれないと思いました。私が探しているのは:

  • 完全にオープンソースであり (私が含めているコードを頻繁に変更するか、少なくとも見ています)、商用プロジェクトで自由に使用できます
  • プリミティブを描画する機能; ここでは、「能力」が draw_line(int, int, int, ...) のようなものであることが最善だと思います:D
  • Stage3D に直接アクセスせずに AGAL シェーダーを処理する機能 (単純なほど優れている。たとえば、ND2D のやり方が好き)

あまりにも多くのことを求めている場合は、ND2D と Starling の長所と短所を簡単に教えていただけますか? このトピックに関するオンライン ディスカッションは時代遅れであり、一般的すぎて役に立たないようです。ND2D は少し遊んだことがあるので、Starling の方が人気がありそうなので、使用することを考えています。おそらくチュートリアルと例を探すので、コミュニティの規模が要因です。

ありがとう!

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

actionscript-3 - Stage3D エラー #3694: オブジェクトは以前の dispose() の呼び出しによって破棄されました

Flare3D を使用して、プレーヤー (フラッシュ内でコンパイルする場合) のサイズを変更するとき、またはブラウザーページで実行して wy (windows) マシンをロックして再度ロック解除すると、エラー #3694 が発生します。

エラーは次のとおりです。「オブジェクトは、以前の dispose() の呼び出しによって破棄されました。」

私はいくつかの検索を行い、context3D.driverInfoをチェックして、その文字列が「Disposed」に等しい場合はレンダリングをスキップするためのいくつかの提案を見つけましたが、これはうまくいかないようです。私の場合、その文字列は 'Software (embedded)' (フラッシュ ide で実行する場合) または 'DirectX9 (Direct blitting)' (スタンドアロン プレーヤーで実行する場合) のいずれかです。

エラーの内容と回避方法を知っている人はいますか?

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

apache-flex - FlexプロジェクトのAIRStage3D

Flex 4.5 AIRプロジェクトがあり、stage3Dを使用するコンポーネントを作成したいと思います。Flash Player用のActionscriptプロジェクトで三角形の例を機能させることはできましたが、クリーンなFlexプロジェクトでも機能させることはできませんでした。レンダリングループに入りますが、表示されません。

メインmxml:

Triangle.as:パッケージ{import com.adobe.utils.AGALMiniAssembler;

何か案は?エラーはなく、onRenderをトレースするため、表示されません。:S

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

actionscript-3 - Flash Stage3D: 手続き型テクスチャをレンダリング/更新しますか?

3D オブジェクトのテクスチャを頻繁に更新する必要があります。(手続き的に生成されたパターンであるため、キャッシュすることはできません。フレームごとに動的に生成する必要があります)

これを行う最速の方法は何ですか?

最初に copyPixels() 経由で bitmapData を更新し、次に Texture.uploadFromBitmapData() 経由でこのビットマップデータをフレームごとに再アップロードすることを考えましたが、これは非常に遅いと聞きました (データをシステム RAM から GPU RAM に移動するため)。

GPU でテクスチャを直接操作する方法はありますか?この手順を回避できますか?

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

actionscript-3 - Starling フレームワーク - ゲーム専用?

マルチタッチを使用するキオスクをターゲットにして、AS3 でこれらのタイプのアプリケーションを構築する予定です。

https://vimeo.com/8869517

Starling の存在意義は、GPU を対象とする場合に抽象化のレイヤーを提供することだと理解しています。

私の最初の質問は、このタイプのアプリケーションで GPU をターゲットにする利点はありますか?

もしそうなら、Starling フレームワークは良い選択でしょうか? それとも、本当にゲームだけに役立つのでしょうか?