QT的QSGMaterialShader类的使用
詳細說明
QSGMaterialShader類表示渲染器中的OpenGL著色器程序。
QSGMaterialShader API是非常底層的。可通過QSGSimpleMaterialShader獲得幾乎提供所有相同功能的更方便的API。
QSGMaterial和QSGMaterialShader形成緊密的關系。對于一個場景圖(包括嵌套圖),存在一個唯一的QSGMaterialShader實例,該實例封裝了場景圖用于渲染該材質的QOpenGLShaderProgram,例如將著色器著色為幾何的平坦著色。每個QSGGeometryNode可以具有唯一的QSGMaterial,其中包含繪制該節點時應如何??配置著色器,例如用于渲染幾何的實際顏色。
用戶絕不會明確創建QSGMaterialShader的實例,它將由場景圖通過QSGMaterial :: createShader()進行創建。場景圖將通過場景圖確保每個著色器實現只有一個實例。
從vertexShader()返回的源代碼用于控制材質如何處理來自幾何體的vertiex數據。 fragmentShader()返回的源代碼用于控制材料應如何填充幾何圖形中的每個像素。初始化過程中僅查詢一次頂點和片段源代碼,以后更改這些函數返回的內容將沒有任何效果。
當開始使用著色器時,場景圖會調用activate()函數。當不再使用著色器時,場景圖將調用停用功能。處于活動狀態時,場景圖可以對updateState()進行一個或多個調用,這將為要渲染的每個單獨的幾何體更新著色器的狀態。
attributeNames()返回在vertexShader()中使用的屬性的名稱。這些在activate()和deactivat
總結
以上是生活随笔為你收集整理的QT的QSGMaterialShader类的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QT的QSGGeometryNode类的
- 下一篇: 监督商场活动工作情况怎么做方便快捷?