slot 0.0.1
A real time UI render framework
载入中...
搜索中...
未找到
DX12RenderBatch.h
浏览该文件的文档.
1//
2// Created by zhou_zhengming on 2026/7/29.
3//
4
5#pragma once
6#include "DX12Common.h"
7#include "DX12ConstBuffer.h"
8#include "DX12PipelineState.h"
10#include "Mesh/BaseMesh.h"
12#include "Shader/BaseShader.h"
13#include "Texture/BaseTexture.h"
14
15#include <memory>
16#include <unordered_map>
17#include <vector>
18
19namespace z8 {
20class GameObject;
21struct DX12SubMesh;
22
42
44public:
45 std::vector<DX12RenderObject> ROs;
47
48 explicit DX12RenderBatch(DX12Render* render, bool preserveOrder = false);
49
50 void Init(const std::vector<GameObject*>& Os);
51 void Update() const;
52 void Draw();
53
54private:
55 std::unordered_map<ResourceRef<BaseShader>,
56 std::unique_ptr<DX12PipelineState>,
58 // 透明 UI 必须维持画家顺序;不透明 3D 才能按状态排序减少切换。
60};
61}
Definition DX12Common.h:35
常量缓冲区
Definition DX12ConstBuffer.h:18
Definition DX12PipelineState.h:19
Definition DX12RenderBatch.h:43
DX12RenderBatch(DX12Render *render, bool preserveOrder=false)
Definition DX12RenderBatch.cpp:19
void Draw()
Definition DX12RenderBatch.cpp:82
bool PreserveOrder
Definition DX12RenderBatch.h:59
DX12ConstBuffer Buffer
Definition DX12RenderBatch.h:46
std::unordered_map< ResourceRef< BaseShader >, std::unique_ptr< DX12PipelineState >, ResourceRefHash< BaseShader > > Pipelines
Definition DX12RenderBatch.h:57
void Init(const std::vector< GameObject * > &Os)
Definition DX12RenderBatch.cpp:22
std::vector< DX12RenderObject > ROs
Definition DX12RenderBatch.h:45
void Update() const
Definition DX12RenderBatch.cpp:75
Definition DX12Render.h:33
描述渲染物体所需的数据
Definition DX12RenderBatch.h:29
ResourceRef< BaseMaterial > Material
Definition DX12RenderBatch.h:34
unsigned ConstBufIndex
Definition DX12RenderBatch.h:38
ResourceRef< BaseShader > Program
Definition DX12RenderBatch.h:35
DX12SubMesh * SubMesh
Definition DX12RenderBatch.h:32
ResourceRef< BaseTexture > Texture
Definition DX12RenderBatch.h:36
ResourceRef< BaseMesh > Mesh
Definition DX12RenderBatch.h:33
DX12RenderObject(GameObject *O)
Definition DX12RenderBatch.cpp:15
DX12PipelineState * Pipeline
Definition DX12RenderBatch.h:37
GameObject * Object
Definition DX12RenderBatch.h:31
有形状的渲染物体,一般包括:
Definition GameObject.h:54
资源的强类型引用,同时覆盖持久化 ID 与运行时索引两种边界。
Definition ResourceRef.h:36
世界矩阵 描述坐标系,左手坐标系 使用 DirectX12 坐标系的描述
Definition Application.h:15
Definition DX12MeshManager.h:17