日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

介紹

Qt Shader Tools模塊建立在 SPIR-V 開源生態系統之上,為了編譯成 SPIR-V,使用 glslang,而翻譯和反射是通過 SPIRV-Cross 完成的。

為了允許在 Qt 應用程序和庫中編寫一次著色器代碼,所有著色器都應該用一種語言編寫,然后編譯成 SPIR-V。 這種著色語言目前是與 Vulkan 兼容的 GLSL,這不同于OpenGL風格的GLSL Qt 5.x所期望的。

然后通過翻譯 SPIR-V 字節碼以及反射信息(輸入、輸出、著色器資源)生成其他著色語言的源代碼,例如 GLSL、HLSL 和Metal Shading語言。特別是對于 GLSL,這還涉及生成多個變體,這意味著適用于不同 GLSL 版本的源代碼,例如 GLSL ES 100、GLSL ES 300、GLSL 120、150 等。然后將其全部打包到可序列化的 QShader 容器對象中, 通常以 .qsb 擴展名的文件形式存儲在磁盤中。Qt 渲染硬件接口直接使用 QShader 實例,選擇最適合運行時使用的圖形 API 的著色器源或字節碼,QShader 對象通常從應用程序附帶的 .qsb 文件或 Qt 資源系統中的 Qt 本身反序列化。

一些平臺提供將著色器源代碼編譯為類似于 SPIR-V 的中間格式選項,這涉及運行特定于平臺的工具。對于 Direct 3D,qsb 工具提供了在生成 HLSL 源代碼后從 windows SDK 調用 fxc 工具的選項,然后它用 fxc 生成的 DXBC 二進制文件替換 HLSL 源代碼。這可以對應用程序的運行時性能產生積極影響,因為它們不再需要自己進行第一階段的編譯(HLSL 源到 DXBC)。對于 macOS 和 IOS,XCode SDK 提供了類似的工具,這種方法的缺點是只能在它們各自的平臺上運行這些工具。因此這最適合與 qsb 的 CMake 集成結合使用,因為在應用程序構建時進行著色器調節隱含地帶有目標平臺所需的知識以及可以調用哪些特定于平臺的工具。

下圖描述了調用 qsb 工具期間發生的步驟:

C++用戶界面開發框架Qt 6.x入門級指南 - Qt著色器工具

 

Qt 著色器調節系統的主要組件有:

  • qsb 命令行工具
  • qsb 工具的 CMake 集成
  • QShader(QtGui 模塊的一部分)
  • QShaderBaker(本模塊的一部分,相當于 qsb 工具的庫)

注意:從 Qt 6.2 開始,C++ API 被認為是私有的,不建議從應用程序直接使用它們,而是直接或間接從 CMake 項目中使用 qsb 命令行工具。

Qt Quick 的典型用法

應用程序開發人員通常需要在 Qt Quick 場景中使用自定義著色器代碼,這些場景具有:

  • ShaderEffect項目,或
  • QQuickItem子類將場景圖節點與通過子類化QSGMaterial.構建的自定義材質結合使用。

例如,考慮以下 QML 片段:

ShaderEffect {
width: 100; height: 100
fragmentShader: "myeffect.frag.qsb"
}

在這里,fragmentShader URL 指的是相對于 .qml 文件位置的 .qsb 文件,該應用程序預計將在 .qml 文件旁邊提供 myeffect.frag.qsb。要從 Vulkan 樣式的 GLSL 源(其本身不需要隨應用程序一起提供)生成該文件,應用程序必須直接或通過 CMake 使用 qsb 工具。

Qt Quick 3D 的典型用法

Qt Quick 3D 直接使用 Shader Tools 模塊在運行時執行著色器調節,此外還提供了在構建時為材質預生成著色器的解決方案,以防對著色器編譯器和其他工具的運行時依賴性不理想。 在任何一種情況下,開發人員都不需要直接使用 qsb 工具,因為它是由 Qt Quick 3D 自己的框架和工具封裝的。

Qt商用組件推薦

  • QtitanRibbon - Ribbon UI組件:是一款遵循Microsoft Ribbon UI Paradigm for Qt技術的Ribbon UI組件,QtitanRibbon致力于為Windows、linux和Mac OS X提供功能完整的Ribbon組件。
  • QtitanChart - Qt類圖表組件:是一個C ++庫,代表一組控件,這些控件使您可以快速地為應用程序提供漂亮而豐富的圖表。
  • QtitanDataGrid - Qt網格組件:提供了一套完整的標準 QTableView 函數和傳統組件無法實現的獨特功能。使您能夠將不同來源的各類數據加載到一個快速、靈活且功能強大的可編輯網格中,支持排序、分組、報告、創建帶狀列、拖放按鈕和許多其他方便的功能。
  • QtitanNavigation:QtitanNavigationDesignUI 組件是一組 GUI 控件,它實現了菜單、導航框、命令欄等導航界面,并讓您以更少的滾動和點擊次數有效地查看所有實體(工作區、網格或其他項目)。
  • QtitanDocking:允許您像 Visual Studio 一樣為您的偉大應用程序配備可停靠面板和可停靠工具欄。黑色、白色、藍色調色板完全支持 Visual Studio 2019 主題!

分享到:
標簽:框架 開發
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定