簡體   English   中英

正投影中的OpenGL深度緩沖區

[英]OpenGL Depth buffer in orthographic projection

如果我在OpenGL中使用正投影,但仍為對象設置了不同的z值,那么它在深度緩沖區中仍然可見嗎?

我的意思是,在顏色緩沖區中,所有內容看起來都是平淡無奇的。 但是,無論它們將在何處以不同的陰影“着色”? 深度緩沖區是否可以“理解”正投影中的深度?

深度緩沖區與投影矩陣無關。 簡而言之,Z緩沖區會記錄給定點處最接近的Z值。 繪制事物時,它將查看當前值。 如果新值小於現有值,則接受該值,並更新z緩沖區。 如果該值大於當前值之后的值,則將其丟棄。 深度緩沖區與顏色無關。 我認為您可能將深度測試混為一談。

例如,假設您有兩個四邊形A和B。

Az =-1.0f;

Bz =-2.0f;

如果假設兩個四邊形在其Z值之外均具有相同的尺寸,則可以看到繪制兩個四邊形將是一種浪費。 由於四邊形A在四邊形B的前面,因此繪制四邊形B是浪費的。深度緩沖區的作用是檢查zcords。 在此示例中,如果啟用了深度測試,則將永遠不會繪制深度緩沖區四邊形B,因為深度測試會顯示它被四邊形A遮擋了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM