[英]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.