在表面上,以及在許多基本應用程序中,OpenGL?顏色的使用似乎非常簡單。但是,渲染器中的某些情況和微妙之處有時會被忽略,但這會導致場景中出現意外結果。這些可能是由顏色的深度或硬件設置引起的。其他時候,一些簡單的事情...
在表面上,以及在許多基本應用程序中,OpenGL?顏色的使用似乎非常簡單。但是,渲染器中的某些情況和微妙之處有時會被忽略,但這會導致場景中出現意外結果。這些可能是由顏色的深度或硬件設置引起的。其他時候,一些簡單的事情,如陰影模式可能會被忽略,渲染的結果也會出乎意料。最后,對OpenGL?顏色進行操作的更復雜的機制,例如燈光和材質,會極大地影響最終輸出的外觀。女性在使用OpenGL?的程序中要確定的一點是,所有這些都是正確的變量已設置。這意味著在渲染之前,確保根據需要將著色模式設置為“平坦”或“平滑”。顏色順序也應設置為預期值。盡管幾乎所有程序都使用紅色、綠色和藍色(RGB)順序,在圖像格式和其他因素中,反轉順序和使用藍色、綠色和紅色(BGR)模型更容易。OpenGL顏色的一個元素有時被忽略,有時也很困難。雖然開發中的程序可能會創建為使用開發系統監視器的顏色深度,另一個用戶的監視器的深度可能不一樣。這意味著,如果一個程序是用24位顏色深度開發的,并且在16位顏色深度或索引顏色模型的系統上運行,則場景將無法正確渲染,并且程序可能看起來不工作。為可用顏色建立和調整深度可以避免這種類型的挫敗感。OpenGL?顏色的兩個方面具有廣泛的細微差別,能夠產生不需要的結果,這是照明和材料系統。使用照明時,重要的是要考慮到燈光與對象的交互方式以及燈光的潛在顏色(如果已定義)如果放置和設置不正確,光源可能會洗掉顏色或改變其外觀。實驗可能是在保持場景氣氛和精確渲染顏色之間找到正確平衡的唯一方法。材質系統可以完全更改對象表面上的OpenGL?顏色。設置“環境光”、“漫反射”或“高光”值過高會導致對象渲染為完全白色,而其他設置會使對象變黑或不可見。場景光源上的設置也會使材質系統復雜化。使用材質時,通過詳細了解每個屬性的作用,可以避免許多問題。最后,了解OpenGL顏色中使用的alpha通道非常重要。這是除了決定對象透明度的顏色的RGB值之外的第四個值。許多程序員在嘗試設置alpha值以生成半透明對象時感到沮喪,但后來才發現漫反射屬性顏色專門用于確定整個對象的alpha值。對象的繪圖順序,無論以后的轉換如何,也決定了alpha值是如何工作的。這意味著透明的對象,然后轉換到稍后繪制的對象前面的位置,由于渲染順序的關系,將不會顯示該對象后面的對象
-
發表于 2020-08-07 23:24
- 閱讀 ( 733 )
- 分類:電腦網絡