問題タブ [zbuffer]

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

c++ - DirectX10 の深度バッファが機能しない

そのため、DirectX10 でシーンを作成しようとしていますが、何らかの理由で zbuffer(深度バッファー) が機能していないようです。Zbuffer を設定したコードは次のとおりです。

これが私のシーンでの外観です: http://imgur.com/UsaURcR

リソース ( http://msdn.microsoft.com/en-us/library/windows/desktop/bb205074(v=vs.85).aspx ) を使用して手順を追って説明しましたが、その理由についてかなり混乱しています動いていない。

どんな助けでも大歓迎です、ありがとう!

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

opengl-es - OpenGL ES での AR オーバーレイ効果のカスタム描画順序 (10)

私は拡張現実アプリケーションに取り組んでおり、3 つの異なる種類のジオメトリのレンダリングを並べ替える必要があります。

レベル 1
バックグラウンド ジオメトリ。これは、基本的なアーキテクチャを表す一連の三角形です。壁など

レベル 2
写真飛行機。空間の平面にテクスチャとして配置された建築の写真。その平面は幾何学的にレベル 1 の前にあります (仮想カメラから見て)

レベル 3
動的ジオメトリ。これらは、シーンを拡張するためのボックスなどのプリミティブです。これらはレベル 1 の座標系内に正しく配置されているため、幾何学的にレベル 2 の後ろにあります。

望ましい効果:
a) Level_2 を常に Level_1 の前に描画したい これは、イメージ プレーンをカメラの近くに配置することで自動的に実現されます。

b) Level_1 に対して Level_3 を正しくオクルードして、Level_1 の壁の後ろに部分的に配置されている場合、ダイナミック ボックスの一部を隠したい。これは、通常のパイプラインでも自動的に発生します。デプステストなど

c) Level_3 のすべての Fragments/Pixel を、実際には Level_2 の背後にある場合でも、Level_2 の上に描画したいと考えています。この効果により、オブジェクトが写真の一部に遮られているように見えるはずです。

「sortkey」属性を介してこの効果を達成できるX3Dom(webglにレンダリングされる)にアプリケーションがあるため、これが可能であることを知っています。しかし、純粋な OpenGL では同じ効果を再現できませんでした。Stencilbuffer または Z-Buffer トリックの単純な使用法であると考えましたが、機能しません。Level_3 ジオメトリに「常にパス」を与えるにはどうすればよいですか? または、Level_2 が Level_1 のみを非表示にし、Level_3 が両方の前にある場合でも、Level_3 を非表示にするにはどうすればよいですか?

基本的に:
1) Level_2 は Level_1 を隠します
2) Level_1 と Level_3 は互いに遮ります
3) Level_3 の可視部分 (Level_1 に対して) は Level_2 によって遮られません

何か助けはありますか?

ありがとう!

0 投票する
0 に答える
606 参照

3d - z バッファリング アルゴリズムの実装方法

プロジェクトでは、Z バッファを 3D モデルに実装したいと考えています。私はアルゴリズムを知っており、これを実装する方法が必要です。

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

c++ - 深度バッファをテクスチャにレンダリングするパイプラインの問題は何ですか?

私の理解による深さテストの主な手順: 1) 深さテストを有効にし、深さテストを行う方法 2) フレーム バッファ オブジェクトを作成し、それに深さが付加されていることを確認します 3) フレーム バッファ オブジェクトをバインドします (必ずレンダリングする前にそれをクリアしてください)4)ものを描く

そして、それはいいえ?フレーム バッファ深度アタッチメントには深度データが必要ですか? しかし、私は常にストレート1のデフォルトの深度クリアカラーを取得します

ステップ1:

ステップ2:

.

ステップ 3:

ステップ 4:

これらはステップではありませんか?
何か不足していますか?
いくつかの異なるチュートリアルを試しました。
テクスチャにレンダリングする深さを得ることができません。ストレート 1 を何度も取得し続けます。

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

java - Z バッファリング アルゴリズムが 100% 正しく描画されない

Java でソフトウェア レンダラーをプログラミングしており、各ピクセルの深度計算に Z バッファリングを使用しようとしています。ただし、動作に一貫性がないようです。たとえば、ユタ州のティーポットのサンプル モデルでは、ハンドルの回転方法によってはハンドルがおそらく半分描画されます。

私のzバッファアルゴリズム:

三角形と光線の原点を指定して、点の z 値を計算する方法:

射線の原点が投影された三角形内にあるかどうかを計算する方法:

三角形の表面法線を計算する方法:

間違って描かれたティーポットの例:

ここに画像の説明を入力

私は何を間違っていますか?些細なことに違いない気がします。三角形がまったく描画されていることを考えると、それが pointWithinTriangle メソッドであるとは思えません。背面カリングも正しく機能しているように見えるので、それは間違いです。私にとって最も可能性の高い犯人は zValueOfPoint メソッドですが、何が問題なのかを知るには十分ではありません。