depth-testing

    1熱度

    1回答

    我的立方體看起來像這樣(的房子)後,我試圖用glnormal的照明。如果我擺脫glDepthFunc(GL_ALWAYS);如果我擺脫了glnormal,那麼它很好,那麼它也很好,不知道這裏發生了什麼。 還有一個問題,在我使用glDepthFunc(GL_ALWAYS)之後,我嘗試添加其他的東西,我翻譯了z軸座標後面的房子,但我仍然看到它?我誤解了深度測試嗎? 初始設置 glEnable(GL_L

    5熱度

    1回答

    我的程序下面必須顯示一個以簡單光照亮的旋轉立方體。 問題是多維數據集閃爍。當我退出調用glEnable(GL_DEPTH_TEST)時,立方體不閃爍,但我可以看到裏面的面(這是正常的,因爲沒有深度測試)。然而這個電話是必不可少的所以我不明白爲什麼這個函數的調用不能正常工作。 這裏是我的代碼: #include <iostream> #include <SDL/SDL.h> #include <

    -1熱度

    1回答

    當我渲染到FBO,深度測試看起來失敗了,但是當我不要了精美的作品。奇怪的是,在更復雜的版本中(我沒有測試過這個版本),當我在學校電腦上測試它(當然不是當我應該工作!:-)),即使沒有FBO,它仍然失敗。 不幸的是,我沒有在這個網站發佈的圖片足夠的聲譽,所以我將它張貼作爲鏈接here。 (這是更復雜的一個,但效果仍然相同(無論如何,彩色立方體的渲染效果與此版本相同))。 最後,這裏是代碼: Main

    4熱度

    1回答

    我想繪製與alpha的球體,但我有我的Z緩衝區的問題。有些像素是透明的,但在Zbuffer中寫入,所以後面的不透明像素被隱藏起來。 這裏是我的設置: gl Enable: gl DEPTH_TEST. gl DepthFunc: gl LEQUAL. gl Disable: gl CULL_FACE. gl Enable: gl BLEND. gl BlendFunc: gl SRC_AL

    2熱度

    1回答

    我正在用c#編寫一個遊戲,使用opengl立即模式渲染。很多時候,由於帶來錯誤排序,透明多邊形無法正確顯示。我一直在尋找很多,但找不到如何快速進行深度排序的教程。我嘗試使用List.sort計算每個透明三角形的深度,但這非常慢(每秒鐘的秒數,而不是每秒的幀數) 是否有標準的深度排序方法? 有沒有什麼好的教程C#上如何做到這一點? 有沒有一個快速的方法來做到這一點?

    0熱度

    1回答

    我正在研究一個非常簡單的像素遊戲體素,但由於某些原因,OpenGL並未正確測試深度。 下面是相關代碼: //Render function: void display() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); glTranslatef(2.5, 2.5, -5

    0熱度

    1回答

    我已經實現了深度紋理並在2個不同的驅動程序上獲得不同的輸出。 我讀在片段着色器中紋理的所有信道(): 「vec4 color = texelFetch(tk_diffuseMap, ivec3(tmp), i);」 在這種情況下我分別獲得在A和B中的紅色和灰色圖像。如果我閱讀紅色通道並將其複製到所有4個通道,我會在A上看到灰色圖像: 「vec4 color = vec4(texelFetch(

    4熱度

    1回答

    作爲DirectX noob,我試圖圍繞深度緩衝區包裹頭部,特別是像素着色器如何被調用以遮蔽像素。 據我所知,光柵化器爲覆蓋繪製原始圖像的每個像素調用像素着色器,然後在輸出合併階段,輸出合併器檢查深度緩衝區並丟棄,寫入或混合像素在後臺緩衝區中。 這似乎很浪費,雖然如果我在一個非常複雜的前面渲染一個簡單的不透明對象,所以看起來有必要讓光柵化器檢查深度圖在甚至調用複雜對象的像素着色器之前。 做研究我發

    1熱度

    1回答

    我想上呈現一切之上的網格,該解決方案正常工作: Three.js - Geometry on top of another 我在想,如果同樣可以與實現mesh.renderDepth,但我目前無法完成工作。似乎如果material.depthTest或depthWrite設置爲false像renderDepth只有一個效果,但隨後的深度排序當然是同一個對象中錯誤的: http://jsfiddle

    1熱度

    1回答

    深入測試的主要步驟來自於我的理解: 1)支持深度測試以及我們如何進行深度測試 2)創建幀緩衝區對象並確保它具有附加深度 3)綁定我們的幀緩衝區對象(請務必在渲染前將其清除) 4)繪製東西 那應該是沒有?我們的幀緩衝深度附件應該有深度數據?但是,我總是直1的默認深度清晰的彩色 第1步: glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LEQUAL); 第2步: