我正在爲名爲Gwen的GUI工具箱的OpenGL 3渲染器工作。我幾乎有一切工作,但我有一些問題得到一切正確混合。我已經按照它們使用的紋理對三角形進行了排序,並將它們打包到VBO中,所以使用單元測試時,它基本上歸結爲3層:沒有紋理的填充矩形,文本,以及窗口,按鈕等,它們使用肌理。我應該如何進行深度獨立混合?
Filled Rects通常被繪製在其他任何東西的頂部並被混合,但背後的背景也是一個Filled Rect,所以我不能指望它。如果您最後繪製它們(例如:窗口周圍有紋理陰影,因爲背景未通過深度測試而變黑)以及如果先繪製它們時出現混合/ z值衝突,則會出現Z值衝突(前:一些選擇亮點被繪製在頂部,而不是像他們應該那樣進行混合)。
我不能指望能夠識別除Filled Rects以外的任何特定圖層。不同的圖層有z值的混合,所以我不能只按照一定的順序繪製它們來使事情有效。在寫這篇文章的時候,我想到了一種簡單的繪製三角形的方法,但它可能意味着很多小的繪製調用,我希望避免。是否有一些方法會涉及一些巫術魔法混合,讓我保留我的大批三角形?
格溫很棒。但它會混合? –