Khasehemwy / D3D12Renderer

Renderer based on d3d12book, using DirectX 12.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

D3D12Renderer

Introduction

Renderer based on d3d12book, using DirectX 12.
The project implements the various rendering effects.

Dependencies

D3D12Book - Common。离线Common文件夹已放置于项目中。

PIX。若在Debug下运行,需安装PIX或注释相应代码。(PIX为截帧工具,方便Debug)

Visual Studio 2022。VS版本可能会影响模型加载库assimp。

assimp。模型加载库。

APP

详细介绍在各App文件夹内的README文档。


Draw Box

App_DrawBox

Simply draw the box. It shows the project structure.


Shapes In 3 Frame

App_shapesIn3Frame

将数据提前处理3帧。


Tessellation

App_Tessellation

曲面细分实现。 仅为简单入门程度。


Instancing

App_Instancing

现代实现方式的实例化。


Culling

App_Culling

视锥体剔除。


Blur

App_Blur

用ComputeShader实现的模糊效果。


Invert Color

App_InvertColor

两个相互遮盖的物体,后面的物体呈现反色 (类似透视)。


Shadow

App_Shadow

使用ShadowMap实现的阴影。


SSAO

App_SSAO

经典SSAO实现。


ComputeCulling

App_ComputeCulling

使用CS进行视锥体剔除,依靠ExecuteIndirect()。

CS进行剔除,帧率100

CPU进行剔除,帧率37

无剔除,帧率23

About

Renderer based on d3d12book, using DirectX 12.

License:MIT License


Languages

Language:C++ 72.6%Language:C 23.1%Language:Assembly 2.5%Language:HLSL 1.8%