1. 程式人生 > >opengl的glortho引數的理解以及混合注意事項

opengl的glortho引數的理解以及混合注意事項

在進行混合的時候,深度測試也很重要。首先,如果在需要渲染的場景中,如果存在透明的物體,那麼先要繪製不透明的物體。因為,繪製透明物體時,當前繪圖指令指定的物體的顏色為源顏色,而當前顏色緩衝區中的顏色為目標顏色,源顏色會與目標顏色按一定公式進行混合(公式參考文獻3)。例如,先繪製背景,再繪製透明物體,再繪製一個位置位於透明物體後面(相對於透明物體,遠離近平面)的不透明物體,則不會獲得你所期望的效果。這是因為,當你繪製透明物體時,當前顏色緩衝區中存放的背景顏色,那麼透明物體的顏色會與背景顏色混合。當你再繪製不透明物體時,即使不透明物體比透明物體大而導致透明物體不能遮擋不透明物體,由於深度測試的存在,也不會在透明物體的區域上繪製不透明物體,這時不透明物體位置處的顏色就是不透明物體和背景的混合色,而沒有產生你想要的透明物體與不透明物體的混合。