問題タブ [molehill]

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 に答える
333 参照

flash - 異なる Program3D を混在させると、一部のオブジェクトがレンダリングされない

Stage3D を使用していると、予期せぬ事態に遭遇しました。オブジェクト用に 2 つの異なるシェーダー プログラムを作成しました。プログラムの 1 つは、テクスチャ ビットマップと UV データを使用するためのものです。もう 1 つは単純にカラー データを使用します。2 つのオブジェクトは非常に異なります。最終的には、無地の色と単純なレンダリング ロジックを使用していくつかのもの (方向線、ハイライトなど) を表示し、他のもの (実際のオブジェクト、背景など) をミップマップでレンダリングするなどです。前方へ。問題は、これら 2 つの非常に異なるシェーダー プログラムを使用すると、どちらか一方しか機能しないことです。したがって、色のみのオブジェクトがすべて表示されるか、テクスチャのみのオブジェクトがすべて表示されます。もちろん両方出してほしいです。

テクスチャ オブジェクトの agal コードは次のとおりです。

頂点シェーダー:

フラグメント シェーダー:

これらのオブジェクトのレンダリング コードは次のようになります。

これは、プレーンな色のオブジェクト(つまり、テクスチャなし)の agal コードです。

頂点シェーダー:

フラグメント シェーダー:

これらのオブジェクトのレンダリング コードは次のようになります。

私が理解できない何らかの理由で、さまざまなデータをさまざまなレジスタ インデックス (va) に割り当てているという事実が原因で、レンダリング プロシージャの 1 つが失敗しています。テクスチャ ループで最初にテクスチャ オブジェクトをレンダリングすると、色付きのオブジェクトがすべて消え、その逆も同様です。オブジェクトは最初のフレームで正しく表示されます。しかし、レンダリング ループが 2 回目に再生されるとすぐに、この予期しない動作が発生します。

以下を追加してカラーオブジェクトのレンダリングコードを変更すると、次のことがわかりました。

できます。しかし、これは本当に良い解決策ではありません。プログラムのどこかで別のオブジェクトが n 個の可変レジスタでレンダリングされていることを知りたくないので、別の program3D インスタンスが n 個未満のレジスタを必要とする場合、未使用のすべての va を null に設定する必要があります。また、4 番目の va が必要なオブジェクト (光っているオブジェクトなど) 用に新しいシェーダー プログラムを作成した場合は、戻って他のすべてのシェーダー プログラムを変更し、va4 を null に設定して、すべてがレンダリングされるようにする必要があります。これは本当ですか?確かに私はここで何かが欠けています。すべてのテクスチャ レジスタ (ft) を設定する場合も同じです。

もっと多くの情報を提供できます...

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

actionscript-3 - Robotlegs と Molehill を統合するには?

Robotlegs (1.5.2) SignalContext を拡張して、AGAL / Molehill 3D を許可したいと考えています。Away3d への移植と、Starling 互換の robotlegs ビルドの開始がありますが、これは不完全に見えます。少なくとも、これにはカスタム SignalContext と MediatorMap が必要だと思いますが、他の人がそれについて考えているかどうかを確認したいと思います (Robotlegs の次のメジャー リリースの可能性はありますか?)

これを実現する方法についてのアイデアは大歓迎です

乾杯!

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

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

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

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

ありがとう

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

actionscript-3 - 質の悪いテクスチャ stage3D

stage3D で単純な正方形を描いていますが、画像の数字とエッジの品質が本来あるべきほど高くありません。

四角

ここに (小さな) ソース コードの例を示します。ほとんどを 1 つのファイルにまとめました。 http://users.telenet.be/fusion/SquareQuality/
http://users.telenet.be/fusion/SquareQuality/srcview/

シェーダーで「<2d、miplinear、repeat>」を使用しています。テクスチャは256x256 jpg(画像よりも大きい)で、pngも試し、「mipnearest」を試し、ミップマッピングなしで試しました。アンチエイリアスは 4 ですが、10 以上ではまったく役に立ちません...

何か案は?こんにちは、トーマス

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

molehill - アドビモグラヒルアンドロイド設定

Flash Builder 4.6 & SDK 4.6 Away3d および Starling 相互運用デバイスの使用 - samsung galuxy s3

デバイスでのデバッグ、うまく動作します。エクスポートされた apk をデバイスにインストールします。その白い背景だけです。

[アプリ名]_app.xmlファイルの設定は

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

shader - AGAL: フラグメント シェーダーでのスクリーン スペース位置の計算

問題をより詳細に定義する前に、すべてをどのように設定したかを説明することから始めるべきだと思います。

基本的に、(x、y、z、u、v) として定義された単純な平面メッシュがあります。

ここでは派手なことは何も起こっていません。しかし、私がこれをレンダリングする方法は、すべてが崩壊する場所です。2 つのレンダー パスを使用してレンダリングされます。1 つ目は単純なフラグメント シェーダーで、単純に色を出力にコピーして 512x512 テクスチャにレンダリングします。それでも、すべてがうまく機能しています。私の問題は2番目のレンダーパスにあります。

2 番目の最後のレンダリング パスは同じジオメトリをレンダリングしますが、フラグメント (ピクセル) の色は最初のパスでレンダリングされたテクスチャから取得する必要があります。そして、それが私の問題の出番です。テクスチャから正しく抽出するために、画面空間座標、または正確には UV 座標で現在のピクセルの位置を正しく計算する方法が必要です。

この位置を計算する方法についていくつかの調査を行いましたが、どういうわけか、万華鏡のような効果を作成することになりました。ただし、この効果は、ここに示すように、X 軸または Z 軸でメッシュを回転させた場合にのみ明らかであり、Y 軸では明らかになりません。

回転比較

このエフェクトを作成する 2 番目のパスに使用されるフラグメント プログラムは、次のようになります。

最後に、私はこれらすべてにまったく慣れていません。そのため、明らかな何かを見逃している可能性があるため、事前にお詫び申し上げます。

そして、存在しない栄光のコードをすべて見たい場合は、Github リポジトリをここで見つけることができます。

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

actionscript-3 - AGAL: Matrix3D.append() の代わりに m44

そのような計算を移動する方法:

シェーダー内?

私の現在のアプローチ:

vt4 に間違った結果を生成します。私は何を間違っていますか?