slot 0.0.1
A real time UI render framework
载入中...
搜索中...
未找到
DX12Render.h
浏览该文件的文档.
1//
2// Created by zhou_zhengming on 2026/5/8.
3//
4#pragma once
5
6#include "DX12Command.h"
7#include "DX12Common.h"
8#include "DX12DepthStencil.h"
9#include "DX12GlobalConst.h"
10#include "DX12MaterialManager.h"
11#include "DX12MeshManager.h"
12#include "DX12Msaa.h"
13#include "DX12PipelineState.h"
14#include "DX12RenderBatch.h"
15#include "DX12RootSignature.h"
16#include "DX12Shader.h"
17#include "DX12TextureManager.h"
18#include "DX12WindowSurface.h"
19#include "Target/Render.h"
20#include "d3d12.h"
21
22#include <vector>
23
24namespace z8 {
25class BaseCamera;
26class Window;
27class Timer;
28class BaseLight;
29class Application;
30class DX12FloatingWindowManager;
31
32// 这个类是每个窗口独立的
33class DX12Render : public Render {
34public:
37
42
44
51
55 std::unique_ptr<DX12FloatingWindowManager> FloatingWindows;
56
57 explicit DX12Render(Application* app);
58 ~DX12Render() override;
59
60 void Init() override;
61 void InvalidateSceneResources() override;
62 // 每帧绘制前调用,更新物体状态
63 void Update() override;
64 // 绘制物体
65 void Draw() override;
66 void Resize() override;
67 void Shutdown() override;
68
69 BaseCamera* GetCamera() const;
70 Window* GetWindow() const;
71 Timer* GetTimer() const;
73 const std::vector<BaseLight*>& GetLights() const;
74
75private:
76 bool IsShutdown = false;
78 bool SceneResourcesDirty = false;
79};
80
81}
82
83
84
85
Definition Application.h:21
Definition BaseCamera.h:10
Definition DX12Command.h:12
Definition DX12DepthStencil.h:14
Definition DX12Device.h:11
Definition DX12MaterialManager.h:33
Definition DX12MeshManager.h:26
Definition DX12Msaa.h:11
Definition DX12RenderBatch.h:43
Definition DX12Render.h:33
Window * GetWindow() const
Definition DX12Render.cpp:186
DX12RootSignature RootSignature
Definition DX12Render.h:49
BaseCamera * GetCamera() const
Definition DX12Render.cpp:181
DX12Command Cmd
Definition DX12Render.h:38
DX12MaterialManager MaterialManager
Definition DX12Render.h:46
DX12ShaderLibrary ShaderLibrary
Definition DX12Render.h:50
void InvalidateSceneResources() override
Definition DX12Render.cpp:76
void Draw() override
Definition DX12Render.cpp:106
bool IsShutdown
Definition DX12Render.h:76
DX12Render(Application *app)
Definition DX12Render.cpp:22
DX12DepthStencil DepthStencil
Definition DX12Render.h:43
Timer * GetTimer() const
Definition DX12Render.cpp:190
DX12RenderBatch UOBatch
Definition DX12Render.h:53
bool SceneResourcesDirty
Definition DX12Render.h:78
~DX12Render() override
Definition DX12Render.cpp:31
DX12Device * Ctx
Definition DX12Render.h:36
DX12TextureManager TextureManager
Definition DX12Render.h:47
void Resize() override
Definition DX12Render.cpp:164
Application * App
Definition DX12Render.h:35
DX12WindowSurface WindowSurface
Definition DX12Render.h:41
DX12Msaa Msaa
Definition DX12Render.h:39
void Init() override
Definition DX12Render.cpp:46
const std::vector< BaseLight * > & GetLights() const
Definition DX12Render.cpp:193
void Shutdown() override
Definition DX12Render.cpp:33
void Update() override
Definition DX12Render.cpp:78
DX12MeshManager MeshManager
Definition DX12Render.h:45
std::unique_ptr< DX12FloatingWindowManager > FloatingWindows
Definition DX12Render.h:55
DX12GlobalConst GlobalConst
Definition DX12Render.h:48
DX12RenderBatch GOBatch
Definition DX12Render.h:52
Definition DX12RootSignature.h:10
单个 DX12Render 拥有的 Shader GPU 缓存。
Definition DX12Shader.h:35
Definition DX12TextureManager.h:14
Definition DX12WindowSurface.h:25
Definition Render.h:18
资源的强类型引用,同时覆盖持久化 ID 与运行时索引两种边界。
Definition ResourceRef.h:36
Definition Timer.h:9
Definition Window.h:12
世界矩阵 描述坐标系,左手坐标系 使用 DirectX12 坐标系的描述
Definition Application.h:15
CPU 侧全局常量
Definition DX12GlobalConst.h:28