問題タブ [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.
actionscript-3 - AdboeAGALはレジスターについて混乱しています
私はレジスターについて少し混乱しています。
この記事では、 http://www.adobe.com/devnet/flashplayer/articles/what-is-agal.html
2行のAGALコードがあります
最初の行は計算結果をopレジスタに入れましたが、2番目の行はopレジスタを操作しませんでした。
では、最初の行を実行する意味は何ですか?
また、私はデモを見つけました:
頂点シェーダーでは、上の3行も結果をopに入れますが、4行目はそれを使用していません。
それで、それはどういう意味ですか?
ありがとう
actionscript-3 - Flash MouseMove のパフォーマンスの問題
私のテストケースは、2 つの三角形を描画してから 6 ミリ秒待つことです。これを行うと、fpsは60になります。
ステージ上でマウスを振ると、fpsが安定しません。非アクティブ時間が増加し、非アクティブ時間を減らす方法がありません。どうしてこうなった。
以下はいくつかのスクリーンショットです。
スカウトのスクリーン キャプチャ: http://i.stack.imgur.com/xK0xV.png
GPUView fps グラフ: http://i.stack.imgur.com/XO0HQ.png
そして、アプリケーションのコード
flash - AGAL では、「kil」オペコードを使用する場合、DepthTest はそのピクセルをスキップしますか?
私がゲームを構築していて、いくつかのレイヤーで世界を作成するためのいくつかのタイルマップがあったとしましょう。ビューは正射投影であり、基本的には世界のトップダウン ビューです。
Depth-Test を使用して、どのスプライトが上から下に (レイヤーごとに) 描画されるかを比較することを考えています。(注:これがこの問題への最善のアプローチではないかもしれないことは承知していますが、冗談を言ってください...)
エッジが完全に透明なキャラクター スプライト (スプライトの周囲にキー カラーまたはゼロ アルファ) がある場合、フラグメント シェーダーで「kil」オペコードを使用して、クワッドが存在しないことを確認できますか?スプライトの透明部分に「穴」?(少なくとも、それが起こると私が想定していることです)。
これに対するより単純な質問は....「kil」はそのピクセルを無視し、最後のdrawTriangles()呼び出しの前/にあったピクセルの色をそのままにしますか?
actionscript-3 - AS3 Stage3D AGALを使用してCUDAのような処理を実現できますか?
320x240のストリームランタイムでボールを検出するプログラムがありますが、より大きな解像度をストリーミングすると、速度が遅くなります。GPUを使用して各ピクセル(隣接するフレームと隣接するピクセルを含む)を計算できれば、より高速になると思います。AGALを使用してGPUからデータを取り戻すことができるかどうか誰かが知っていますか?
並べ替えると、フレームの各ピクセルを通過するループが以下にあります。パフォーマンスを向上させるために、GPUで最も多く計算したいと思います。
flash - Flash IDE Stage3d とハードウェア アクセラレーションの設定
Flash IDE を使用して Stage3D (GPU 対応) プロジェクトをパブリッシュする場合、Flash にはハードウェア アクセラレーション用のオプションがあります。
私の質問は、これを変更すると、アプリケーションが GPU を利用する能力にどのような影響があるかということです。
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でワイヤーフレームを行う簡単な方法はありますか?
それが私の問題を完全に説明することを願っています。答えは大歓迎です、ありがとう!
ios - ActionScript3.0 - 座標でピクセルの色 (uint) を取得する方法は? (Stage3D、Flare3D)
質問はタイトルにあります:
[ActionScript3.0] 座標のピクセルの色 (uint) を取得するには? (Stage3D、Flare3D)
Flare3D ライブラリを使用して、iPad2 で 3D シーンをレンダリングしています。画面が再描画されるたびに、768 の異なる座標で色の値を取得する必要があります。以前は、単純なステージ (2D) では、指定された座標に変換された 1x1 ビットマップに描画できましたが、stage3D では機能しません。さらに、実際には画面が描画されるたびに、できるだけ頻繁に実行する必要があるため、パフォーマンスが低下するのではないかと少し心配しています。現在表示されている画面がどこかのビットマップのようになっていれば、単純な配列のようにアクセスできればいいのですが...しかし、ええ、私は息を止めていません:)
actionscript-3 - アクションスクリプトnavigateToURLがstage3dで機能しない
この単純なコードは私には機能しません:
後で私はurlをflasccから開きたいのですが、これが機能すれば簡単に実行できます。これがセキュリティ上の理由である場合、これを行う他の方法はありますか?決定2と呼ばれるゲームで、すべてのブラウザーのデバッグバージョンのFlashPlayer+でもURLが機能することを確認しました。したがって、navigateToURLが機能する場合は、これを行う他の方法が必要です。
actionscript-3 - context3d.setRenderToTexture() のパフォーマンス
現在、stage3d で 2D ゲームを開発しています。パフォーマンスは驚くべきものです - 画面上を移動する多くのスプライトで 60/60 FPS が得られます。
後処理フィルターの実装を開始しました。すべてを画面ではなくテクスチャにレンダリングし、シェーダーを適用してから画面にレンダリングします。
しかし、最も単純なシェーダーで setRenderToTexture を使用するだけで、最大 40 FPS という大幅なパフォーマンスの低下に直面しました。
間違った方法でレンダリングしたり、最終的なテクスチャをレンダリングする方法に問題がある可能性があります。
SWF のサイズは 980x600 で、最終的なテクスチャは 1024x1024 になります。
これが、この後処理の高速で汚い実装です: https://gist.github.com/4616886
私はAxelエンジン( http://axgl.org )を使っていますが、コードは誰にでも分かりやすいものにすべきです。
Gist は、Ax.as で変更したコードを示しています ( https://github.com/arkeus/Axel/blob/master/src/org/axgl/Ax.as )
そして、AxCache.as ( https://github.com/arkeus/Axel/blob/master/src/org/axgl/util/AxCache.as )の関数をいくつか使用します。
そして、これが私が使用した SPRITE_INDEX_BUFFER です - ( https://github.com/arkeus/Axel/blob/master/src/org/axgl/AxSprite.as#L518 )
actionscript-3 - perspectiveLH と perspectiveFieldOfViewLH の違いは何ですか? また、それらはすべて CVV または NDC に対するパースペクティブでしたか?
私は2つの関数、perspectiveLHと perspectiveFieldOfViewLHについて少し混乱しています
まず、perspectiveLH で使用される行列を導出できます。
私が正しいことを理解していれば、このマトリックスを使用して、ワールド ポイント (WPx、WPy、Wpz) をCVV (正規ビュー ボリューム) に透視するか、NDC (正規化されたデバイス座標) ポイント (CPx'、CPy'、CPz') として呼び出すことができます。
しかし、マトリックスは perspectiveFieldOfViewLH で使用されます。
xScale と yScale の意味がわかりません。
FOV(Field Of View) でマトリックスを設定できることはわかっていますが、私の計算は 1.0 / Math.tan(fieldOfViewY / 2.0) とは異なるようです。
私の計算に関する詳細情報が必要な場合は、次のリンクを確認してください。
http://blog.csdn.net/popy007/article/details/4091967
申し訳ありませんが英語で書いていません(私が書いたものでもありません)
また、この記事のデモ コードでは
http://www.adobe.com/devnet/flashplayer/articles/perspective-projection.html
perspectiveFieldOfViewLH マトリックスは正常に機能しますが、マトリックスを次のように変更すると
projectionTransform.perspectiveLH(800, 600, 0.1, 1000)
その後、グラフを取得できません
しかし、通常のパースペクティブ マトリックスまたは FOV マトリックスを使用すると、同じ結果が得られますか?
また、Stage3D レンダリング パイプラインについて少し混乱しています。これらのパースペクティブを使用すると、ワールド ポイントが CVV ポイントに変換され、変形します。
Stage3D は、ラスタライズ中に変形したグラフを通常の状態に戻しますか、それとも手動で行う必要がありますか。または、レンダリングパイプラインについて完全に間違っています。
ありがとう