甲烷套件
易於使用的現代3D圖形渲染抽象API和跨平台應用程序框架:
- 建立在現代本機3D圖形API的頂部:Windows上的DirectX 12,Linux上的Vulkan,MacOS上的金屬,iOS和TVOS上的金屬。
- 用面向對象的中級圖形API簡化了現代圖形編程,靈感來自蘋果金屬的簡單性。 HLSL 6中的常見著色器代碼均在所有平台上使用。
- 提供跨平台應用程序框架,其中包括CMAKE構建工具鏈,獨立於平台的應用程序基礎類別和Windows,Linux和MacOS的本機GUI層。
下載版本構建使用預先構建的樣本,教程和測試,以嘗試使用它們。檢查最新的構建狀態,測試,代碼覆蓋和分析結果,或從GitHub Action和Sonar Cloud中獲取構建工件。請參閱“手動構建說明”的構建說明主題,並開始學習使用Hello Triangle和其他教程的文檔學習甲烷圖形RHI API。
| 平台 | 圖形API | 主構建 | 開發構建 |
|---|
渲染硬件接口(RHI)甲烷圖形RHI模塊實現了一組面向公共對象的接口,這些接口使現代圖形編程以平台和API獨立的方式變得容易便捷。 教程使用Hello Triangle教程文檔開始學習甲烷圖形API,然後繼續與他人一起。 名稱 /鏈接 | 螢幕截圖 | 描述 |
|---|
| 1。你好三角 |  | 彩色三角形渲染在100行代碼中。 | | 2。你好立方體 |  | 帶有頂點和索引緩衝區的200行代碼中的彩色立方體渲染。 | | 3。紋理立方體 |  | 紋理立方體引入帶有phong陰影的緩衝液,紋理和採樣器使用情況。 | | 4。影子立方體 |  | Shadow Cube引入了帶有渲染通行證的多通渲染。 | | 5。排版 |  | 排版展示了使用甲烷UI的動態字體圖集更新的動畫文本渲染。 | | 6。立方圖陣列 |  | 立方體圖陣列紋理以及天箱渲染。 | | 7。平行渲染 |  | 將紋理立方體實例的平行渲染到單個渲染通道。 | | 8。控制台計算 |  | 康威的生活遊戲在計算著著色器中實現,並在純控制台應用程序中運行。 |
樣品甲烷樣品展示了與上述教程相比,具有更複雜的實現的先進技術和使用情況。樣品是以單獨的存儲庫形式分發的。 名稱 /鏈接 | 螢幕截圖 | 描述 |
|---|
| 小行星 |  | 基準分析了並行渲染命令,該命令在單個渲染通道中編碼,用於在多個線程中處理的大量異質小行星對象。 |
特徵- 跨平台應用程序和輸入類:Windows,MacOS和Linux受支持
- CMAKE模塊用於方便應用程序構建配置,添加著色器和嵌入式資源
- HLSL-6著色器為所有圖形API服務轉換為本地著色器語言,並在spirv-cross&directxcompiler中編譯為構建時間
- hlsl ++數學庫,具有C ++中的HLSL樣語法,以及針對不同平台的矢量指導優化
- 現代圖形API摘要:基於DirectX 12,Vulkan和Metal API
- 用緊湊的初始化語法渲染狀態和程序配置
- 編程綁定對象實施了著色器參數對資源的有效綁定
- 自動資源狀態跟踪用於自動資源過渡障礙設置
- 在GPU上使用,在命令列表狀態中使用共享指針時,資源自動保留在銷毀中
- 命令列表執行狀態跟踪可選的GPU時間戳查詢
- 並行渲染命令列表,用於單個渲染通行證中編碼的多線程渲染命令
- 使用柵欄同步的GPU上的多個命令隊列執行
- 通過上傳命令列表和共享資源對私有GPU資源異步更新
- 命名圖形對象的註冊表可以重複使用渲染態和渲染器對象之間的圖形資源
- 圖形原語和擴展:
- 圖形應用程序基類帶有每個框架資源管理和框架緩衝液調整大小的框架啟用有效的三重緩衝
- 攝像機原始互動弧球攝像頭
- Quad,Box,Sphere,Icosahedron和Uber-Mesh的過程網格生成
- 屏幕集合和天盒渲染擴展類
- 紋理加載器(當前使用STB實施,計劃用OpenImageio替換)
- 使用者介面:
- UI應用程序基類帶有集成HUD,徽標徽章和幫助/參數文本面板
- 字體加載,動態圖集更新,文本渲染和佈局的排版庫
- 小部件庫(正在開發)
- 平台基礎架構:
- 帶有窗口管理和輸入處理的基本應用程序,用於Windows,MacOS和Linux
- 通過回調接口連接發射器和接收器的事件機制
- 動畫子系統
- 嵌入式資源提供商
- 集成調試和分析功能:
- 圖書館儀器用於績效分析使用痕跡分析工具
- 所有GPU對象的調試名稱和圖形API的調試區域都可以使用框架分析工具
- 與自動化的多平台構建,單位測試和聲納雲靜態代碼分析連續集成
有關詳細的功能說明和開發計劃,請參閱模塊文檔。 支持的開發工具開發環境
- Microsoft Visual Studio 2019
- 解決方案和項目構建(使用build/windows/build.bat生成)
- CMAKE本機構建支持(與Cmakepresets.json預先配置)
- Apple Xcode
- XCode Workspace和Projects(使用build/unix/build.sh生成)
- Microsoft vs Code和GitPod(與Cmakepresets.json和.vscode/settings.json預先配置)
- 噴氣大腦固定(與.idea預先配置)
- QT創建者俱有CMAKE本機支持
甲烷套件正在支持噴氣大腦開發工具的支持。開源項目開發許可證可免費提供給甲烷套件項目的所有主要貢獻者。 靜態代碼分析甲烷套件帶有連續的C ++靜態代碼和代碼覆蓋分析,作為自動化CI“掃描”構建的一部分,該構建具有最新結果,分別在Sonar Cloud上發布了所有受支持的平台。 | 主掃描結果 | 視窗 | macos | Linux |
|---|
| 掃描構建狀態 | | | | | 優質門 | | | | | 可維護性 | | | | | 可靠性 | | | | | 安全 | | | | | 技術債務 | | | | | 錯誤 | | | | | 漏洞 | | | | | 代碼氣味 | | | | | 重複的線條 | | | | | 測試覆蓋範圍 | | | | | 代碼行 | | | |
跟踪分析工具甲烷套件包含所有庫的集成儀器,用於使用以下工具進行跟踪收集的性能分析。有關跟踪收集說明和相關構建選項的更多詳細信息,請參閱甲烷儀器文檔。 | Tracy框架剖面 | 英特爾圖形跟踪分析儀 |
|---|
 |  |
框架分析和調試工具- 英特爾圖形框架分析儀
- 蘋果Xcode金屬調試器
- Renderdoc
- Microsoft Pix
- Nvidia Nsight圖形
外部依賴性執照甲烷套件是根據Apache 2.0許可證分配的:可以免費使用並打開以供捐款! 版權所有2019-2022©Evgeny Gorodetskiy
展開
附加信息
-
版本
v0.7.3
-
類型
其他源碼
-
更新時間
2025-05-09
-
大小
15.78MB
-
來自於
Github
|