Libgdxの3Dモデルの一部を別のモデルでマスクまたはトリミングする必要があります。添付されたイメージを仮定すると、オンザフライで赤色の緑色のボックスを切り取る必要がある2つのボックスがあります(カメラビューが変更された場合、特定の部分も切り取られる必要があります)。結果は他のイメージと同じになります。助けや提案をいただければ幸いです。Libgdxで別のモデルをマスクするモデルの一部
0
A
答えて
0
3Dモデルをマスクするためにデプスバッファを適用しても問題ありません。ここに私のスニペットコードがあります。
Gdx.gl.glViewport(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
Gdx.gl.glClearDepthf(1f);
Gdx.gl.glClear(GL20.GL_DEPTH_BUFFER_BIT);
Gdx.gl.glDepthFunc(GL20.GL_LESS);
Gdx.gl.glEnable(GL20.GL_DEPTH_TEST);
Gdx.gl.glDepthMask(true);
Gdx.gl.glColorMask(false, false, false, false);
//the mask model
modelBatch.begin(cam);
modelBatch.render(redBox);
modelBatch.end();
// the model which is masked
modelBatch.begin(cam);
Gdx.gl.glColorMask(true, true, true, true);
Gdx.gl.glEnable(GL20.GL_DEPTH_TEST);
Gdx.gl.glDepthFunc(GL20.GL_EQUAL);
modelBatch.render(greenBox);
modelBatch.end();
Matt DesLauriersに特別なおかげです。
0
私は助けとなる可能性があり(サポートされている場合)libgdxを知っているが、ステンシルバッファを使用しないでください。これは、特定のピクセルを整数値でマークすることを可能にする追加バッファです。メインレンダリングでは、いくつかのステンシルテストを設定して、どのピクセルを破棄するかを決定できます。要するに
:
- クリーンステンシルバッファ0から
- は、例えば値と、のみステンシルバッファに赤いオブジェクトを描画します「ゼロである」に1
- セットステンシルテストが
- はにより閉塞全てを意味し、通常
あなたはいつものように緑色のボックスを描画し、この方法は緑色のオブジェクトを描画しますが、ステンシルのためのピクセルを無視!= 0赤いボックス。
+0
ありがとうございました!私はライブラリをチェックしましたが、それはステンシルバッファと深さバッファが2D空間に使用できるようです。 –
関連する問題
- 1. モデルが別のモデルの一部である場合にのみ、モデルにフィールドを割り当てる
- 2. Backbone.js - 別のビューを持つモデルの一部を共有する
- 3. 別のモデルへの外部キーを使ったdjangoモデルのテスト
- 4. wpfでコントロールの一部をマスクする
- 5. Djangoのモデルの外部キーフィールドの一致
- 6. クラスをdjangoモデルの別のクラスの一部として使用する
- 7. Djangoモデル - あるモデルのフィールドを別のモデル(外部キー)のフィールドに依存させる方法
- 8. mvc3 razor html.actionlink linktextモデルの一部
- 9. Djangoの別のモデルで同じモデルを複数参照する
- 10. Rails:モデルを別のモデルに接続
- 11. Java/libgdx 3Dモデルの回転エラー
- 12. Djangoモデルは別のモデルのフィールドに外部キーを設定しました
- 13. ループバック別のモデル
- 14. 別のモデル
- 15. DjangoRestFrameWork別のモデルから1つのモデル
- 16. 別のコントローラの内部からモデルを更新する
- 17. 2つのモデルを別のモデルで結合します。
- 18. SilverStripe:モデルのフィールドの一部を取得する方法
- 19. Django - 別のモデルで抽象モデルを使用できますか?
- 20. サーバーからのデータもMVCのモデルの一部ですか?
- 21. Rails 3祖先モデルbelongs_to別のモデル
- 22. laravelのモデルを別のモデルにバインドする方法
- 23. Django:別のモデルからモデルのデータを生成するには?
- 24. あるモデルを別のモデルから更新する
- 25. モデルのパス部分
- 26. Yii2一部のモデルを除いて削除する
- 27. Spring MVCの別のモデルのデータでモデルを記入
- 28. simulinkモデルを別のsimulinkモデルに挿入する方法
- 29. Rails - PaperClipモデルを別のモデルに移動する方法
- 30. selectタグに別のモデルが属するモデルを入れよう
質問をしたり、既に試したことを忘れてしまった。次をご覧ください:http://stackoverflow.com/help/how-to-ask画像を見ると、赤いボックスの色を黒に変更するとうまくいくはずです。 – Xoppa
Xoppaありがとうございますが、私はすでに別のモデルでモデルの一部を切り抜く方法を尋ねました。赤い箱を黒に変えるのは良い考えですが、私の質問はそれほど単純ではありません!私は拡張現実感アプリの背景色を透明にするつもりです。赤いボックスも透明にする必要があります。 –