# Direct3D12Engine **Repository Path**: xuyn_gamelover/Direct3D12Engine ## Basic Information - **Project Name**: Direct3D12Engine - **Description**: 一个基于dx12的实时渲染引擎框架,目的是构建简洁高效的框架,便于实现各种图形算法 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2019-10-07 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Direct3D12Engine ## 介绍 dx12是非常底层同时也拥有强大功能的API,通过dx12实现一个realtime render 框架并非易事。本项目提供了一种抽象化dx12渲染框架的方式,方便基于dx12实现各种图形算法。 本项目的目的是学习图形学算法,主要的方向是物理和动画模拟。 ## 运行说明 使用 VS2019打开项目后,用 nuget 安装 WinPixEventRuntime 和 directxtex_desktop_win10 2个依赖。 ## 设计与架构 #### 基础的内容 1. 顶点格式分类 2. 模型的config 3. 使用directxtex读取各种类型的纹理格式 4. 使用assimp读取各种模型数据 #### 根描述符管理 0. 根描述符简介 1. 根描述符管理方法 #### 描述符堆管理 0. 描述符的概念和作用 1. 描述符堆及其管理策略 #### GPU内存,ID3D12Resource的分类和管理 0. buffer resource 1. texture resource #### 内存管理 0. 内存管理的思想和策略 1. 基于buffer的内存管理,上传堆内存管理 2. 基于heap的内存管理 #### 渲染算法的单位 Pass #### 渲染目标的基类 RenderItem #### FrameResource 0. FrameResource中存什么不存什么 1. Frame 何时交换?从Present的一个参数讲起 #### Scene,场景管理者 ## 图形算法 #### PBR #### ShadowMap #### 流体模拟