depth test與blend(深度測試與混合)

2021-05-01 06:41:07 字數 415 閱讀 4079

opengl中的blend在開啟後,可以讓開啟後繪製的圖形與已經繪製在幀快取中的圖形做混合,例如,先繪製a,然後開啟混合,定義混合方式為使用各自的alpha,然後繪製b,那麼結果應該是a與b重合的地方為兩者的顏色融合效果。

但是我今天在這個地方犯了乙個錯誤,我先繪製乙個a,然後開啟混合,然後在a的後面繪製了b,結果沒有出現混合效果,而只是繪製了a。我後來才明白原來在opengl中深度測試發生於混合之前,也就是繪製結束後,首先進行深度測試,這是b繪製在a後面,已經不能通過深度測試,所以渲染管線已經放棄繪製b,自然就無法走到後面階段的混合。要想混合只有在繪製b前將深度測試關閉,或者先繪製b,再繪製a。

總之一句話,在渲染管線中,顯示頂點處理,再是片段處理,然後是各種測試,最後才是混合、邏輯操作等幀快取的操作。在開啟深度測試時,只有後繪製在前面一些的圖形才會將其與被它遮蓋的圖形混合.

Blend基礎 控制項與使用者控制項

blend基礎 控制項與使用者控制項 什麼是控制項 什麼是模板 具體做法 在舞台上新增乙個按鈕,右鍵點選。編輯副本選項是對預設的按鈕模板再進行編輯。建立控制項是完全的自己建立乙個新的模板。這裡就全新的建立乙個模板。再填出的對話方塊中為新的模板起好名字。這裡我們就得到了乙個空的模板。在grid布局控制...

Blend基礎 動畫

blend基礎 動畫 在動畫中最簡單的就是逐幀動畫了,現在常見的gif動畫就是逐幀動畫。具體做法 把要製作動畫的放入舞台中。點選 物件和時間線 面板右側的 新建立乙個動畫。在彈出來的對話方塊中為動畫起名字。這時你會發現 物件和時間線 面板發聲了變化。按鍵 f6 或者從選單中進行選擇來切換工作區檢視。...

BLEND學習進度1

工具欄 布局控制項 grid 最外層,最常用的布局。專案初始既包含它。canvas 常用,部署在grid裡,可以控制內部控制項位置,可以巢狀canvas。stackpanel 只能水平或者垂直排列內部的控制項,沒有zindex軸。scrollviewer 有滾動條的容器,裡面只能放乙個控制項。比如s...