<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      使用 .NET 8.0 和 OpenGL 創建一個簡易的渲染器

      前言
      我個人對三維渲染領域的開發有著濃厚的興趣,盡管并未在相關行業工作過,我的了解還很片面。去年,在與群友聊天時,他們推薦了一本《Unity Shader入門精要》,說適合像我這樣想自學的新人,于是我打開了通往新世界的大門。這本書涵蓋了很多基礎的渲染知識,如光照、陰影、各種風格的渲染等等。對于有興趣的同學,可以在京東讀書中在線閱讀,無需購買紙質版。 在學習過程中,我發現使用Unity Shader編寫著色器非常方便,它很好地封裝了渲染概念中的Pipeline、Pass等要點。因此,我萌生了一個想法:是否可以模仿Unity Shader來開發一款屬于自己的渲染器呢?

      必備的技術點 (不分先后)

      • 線性代數 - 在編寫Shader時,了解線性代數是至關重要的,因為許多內置函數與線性代數相關,幫助你理解代碼含義。
      • 圖形學基礎 - 了解圖形學基礎也是必要的,即使只對圖形庫的作用和渲染流程有基本了解。
      • 圖形庫API - 掌握圖形庫API是開發渲染器的核心,可以根據個人偏好選擇適合自己的API,如OpenGL、Vulkan、DirectX等。
      • 編程基礎 - 編程基礎也是必備技能。

      這些知識結合起來,可以幫助你更好地開發自己的渲染器。

      項目搭建和所需依賴

      • Silk.NET.OpenGL - OpenGL 的 C# 包裝器。
      • Silk.NET.Shaderc、Silk.NET.Shaderc.Native - 用于以 SPIR-V 方式編譯 GLSL。注意,OpenGL 4.6 支持 SPV Shader。
      • Silk.NET.Windowing、Silk.NET.Input - 對 glfw、sdl 窗口進行包裝,包含控制器輸入(鼠標、鍵盤等)。
      • StbImageSharp - 用于解析圖片。
      • Silk.NET.Assimp - 用于解析三維模型。
      • Silk.NET.Maths - 一個完善的數學庫。
      • Hexa.NET.ImGui、Hexa.NET.ImGuizmo - ImGui 的 C# 包裝器。

      項目架構

      • TrContext.cs - 統一管理使用的 GL 和 GL 擴展的上下文。
      • TrShader.cs - 用于加載 Shader,支持 SPV 二進制文件和 Shader 字符串。
      • TrRenderPipeline.cs - 管理一條管線中的 Shader,并維護管線狀態,如混合狀態、重采樣、深度測試、模板測試等。
      • TrRenderPass.cs - 管理多條管線和切換管線。
      • TrTexture.cs - 管理紋理和采樣器屬性。
      • TrFrame.cs - 創建并維護一個 Frame,支持多重采樣。
      • TrScene.cs - 內置一個 Frame 的 ImGui 窗口,用于綁定渲染。
      • TrBuffer.cs - 使用 OpenGL 創建并維護內存,可設置內存優先級。
      • TrTransform.cs - 簡易的矩陣變換類,支持平移、縮放、旋轉。
      • TrCamera.cs - 相機類。
      • TrMesh.cs - 管理網格體的頂點數據和索引數據。
      • TrMaterial.cs - 渲染器的核心,管理著渲染管線和材質屬性,負責進行網格的渲染。

      項目中,所有材質和 Shader 按照書中的章節進行了分組管理。

      項目預覽

      • 初始界面

      • 窗體菜單

      • 場景模型拾取和 Transform

      • 漫反射場景

      •  各類紋理渲染

      • Shadertoy 網站的 shader 渲染,我抄了幾個 Shadertoy BETA

       

      項目地址

      qian-o/Triangle: OpenGL 實戰項目。 (github.com)

      posted @ 2024-02-19 17:00  o王先生o  閱讀(3763)  評論(16)    收藏  舉報
      主站蜘蛛池模板: 国色天香成人一区二区| 一区二区三区av天堂| 亚洲国产精品日韩在线| 免费国产一级特黄aa大片在线| 好紧好滑好湿好爽免费视频| 国产精品天天在线午夜更新| 久久这里都是精品一区| 精品国产一区二区三区大| 亚洲最大的成人网站| 91福利视频一区二区| 精品一区二区免费不卡| 日韩深夜福利视频在线观看| 老子午夜精品无码| 亚洲欧洲一区二区精品| 国产农村妇女毛片精品久久| 日韩在线视频网| 国产一区日韩二区三区| 亚洲 丝袜 另类 校园 欧美 | 麻豆一区二区三区香蕉视频| 久久99热只有频精品8| 亚洲综合天堂av网站在线观看| 男女爽爽无遮挡午夜视频| 亚洲欧美日韩综合在线丁香| 日韩a无v码在线播放| 国产情侣激情在线对白| 4399理论片午午伦夜理片| 国产精品中文字幕二区| 国产精品无码久久久久AV| 五月天免费中文字幕av| 国产成人午夜福利在线播放| 久久国产精品精品国产色| 内射视频福利在线观看| 1000部精品久久久久久久久| 东京热大乱系列无码| 不卡一区二区国产精品| 亚洲一区二区不卡av| 国产精自产拍久久久久久蜜| 国产一区二区在线激情往| 国产美女高潮流白浆视频| 人人妻人人妻人人片av| 青青草国产精品一区二区|