問題タブ [depth-testing]

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

c++ - c++ と directx11 の深度テストは、いくつかのオブジェクトのシーンでは機能しません

私はc ++とdirectx11に取り組んでいました..すべてを正しく初期化しました.しかし、何をしても. DepthBuffer が期待どおりに機能していません。

2 つの立方体のうち、1 つの立方体は特定の角度から透明に見えます。2 つ目の立方体は非常に遠くにありますが。常に前面にあるかのように表示されますが、十分に近くなると、最初の立方体の上にレンダリングされます..

ここで何が間違っているのかわかりません。私は完全にうんざりしています:(

誰でも私を助けてくれるほど親切にできますか...お願いします

#含む

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

java - LibGDX 深度テスト エラー

LibGDX でいくつかの基本的なコードを実行していて、緑色の球体のグリッドをレンダリングしたいのですが、LEQUAL に設定した深度テストでエラーが発生しました。エラーは、GEQUAL のようにそれらを前後にレンダリングするように見えることです。

これがスクリーンショットです - https://www.imageupload.co.uk/image/5ot2

ここにコードがあります -

MyGdxGame.java

CustomShader.java

custom.vertex.glsl

custom.fragment.glsl

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

c++ - OpenGL Lines は他のオブジェクトによって隠されています

OpenGL プログラムに問題があります。Ox、Oy、Oz の 3 つの軸と、その軸上にある 4 つのピラミッドを描きます。シェイプを回転すると、軸が表示されるはずですが、4 つの三角形によって隠されています。軸を表示するにはどうすればよいですか?

これが結果です ここに画像の説明を入力

このようにする必要がありますが ここに画像の説明を入力

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

opengl - Linux openGL depth_test が機能しない

インターネットでいろいろな方法を試しましたが、うまくいきません。問題が私のOS(ubuntu)に関連しているかどうかを考えています。

上記の2つの関数は私のコードからのものです..

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

opengl-es - OpenGL 選択深度テスト

選択した三角形間でのみ深度テストが有効になっている OpenGL シーン (OpenGL ES 2.0) を実装したいと考えています。

より具体的に言うと、レンダリングする三角形が 4 つあるとします。深度テストは、三角形 1 と 2の間、および三角形 3 と 4の間で有効にする必要がありますが、三角形 1 と 3の間、または三角形 2 と 4の間では有効にしないでください。

言い換えると、三角形の 2 つのペア内で深度テストを有効にすることはできますか?

opengl.org FAQ (ページの下部 - 12.080 を参照) によると、その目的のためにシーンを領域に分割することができますが、それがどのように達成されるかを理解するのに十分な詳細が説明されていません。

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

opengl - シェーダーでの OpenGL 深度計算

深度テストに特別なプロセスが必要です。まず、GPU デプス テストではなく、シェーダーでの正しいデプス計算を自分で知りたいです。

深度テストを無効にし、深度バッファを書き込んで深度テストと同じ効果を達成する場合:

ピクセル シェーダー:

それは正しい実装ですか?奥行の長さの違いはどうですか?(深さ16または深さ24)

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

c++ - OpenGL での深度テスト

私のプログラムは深度テストを拒否しています。2 つの球体オブジェクトは、位置に従ってではなく、常に作成された順序で描画されます。球のアルファは (0, 0, 1) に配置され、球のベータは (0, 0, -10) に配置されますが、OpenGL は依然としてアルファの上にベータを描画します。プログラムで深度テストを有効に設定しました。

何も機能していないようです。ウィンドウに描画されたすべてのオブジェクトに対して、OpenGL が深度テストを自動的に実行するようにします。どんな助けやアドバイスも大歓迎です。これが完全なコードです。

Ubuntu 14.04 オペレーティング システムを使用しています。

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

qt - QOpenGLWidget で深度テストを有効にする方法は? 黒い画面をレンダリングします

現在、Qt と OpenGl を使用して小さなアプリケーションを作成しており、QOpenGLWidgetグラフィックスのレンダリングに選択しました。

それが私のウィジェットを宣言した方法です:

そして、それがコンストラクタです:

私のinit関数では、次のように設定GL_CULL_FACEしましたGL_DEPTH_TEST

そして、ウィジェットが黒い画面をレンダリングする理由が本当にわかりません。ここにいくつかの写真があります。最初のもの: disabledGL_CULL_FACEと disabled を使用GL_DEPTH_TESTここに画像の説明を入力

2 つ目: enabledGL_CULL_FACEと disabled を使用GL_DEPTH_TEST。良い写真ではないかもしれませんが、いくつかの面が透けて見えることは間違いありません。 ここに画像の説明を入力

3 つ目: enabledGL_CULL_FACEと enabled を使用GL_DEPTH_TEST。実際には、有効になっているかどうかは問題ではありませんGL_CULL_FACE。とにかく、黒い画面をレンダリングします。 ここに画像の説明を入力

モデルに問題がないことを示すために、陰影を付けていない画像を次に示します。 ここに画像の説明を入力

フォーマットを手動で設定しようとしましたが、役に立ちませんでした。まだ黒い画面:

ああ、はい、関数glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);の最初に設定しました。paintGL()