slot 0.0.1
A real time UI render framework
载入中...
搜索中...
未找到
DX12Shader.h
浏览该文件的文档.
1//
2// Created by zhou_zhengming on 2026/5/11.
3//
4
5#pragma once
6#include "DX12Common.h"
9
10#include <d3d12.h>
11#include <d3dcommon.h>
12#include <memory>
13#include <string>
14#include <unordered_map>
15
16namespace z8 {
17class ResourceManager;
20public:
22 explicit DX12Shader(const BaseShaderComponent* shader);
23 void Compile();
24 void CompileByFxc();
25 void CompileByDxc();
27};
28
36public:
38
39 bool IsCompiled = false;
40
42 void CompileAll();
45 size_t Size() const { return Binaries.size(); }
46
47private:
49 std::unordered_map<ResourceRef<BaseShaderComponent>, std::unique_ptr<DX12Shader>,
51};
52
53}
Definition DX12Shader.h:18
D3D12_SHADER_BYTECODE GetByteCode() const
Definition DX12Shader.cpp:113
void Compile()
Definition DX12Shader.cpp:35
void CompileByDxc()
Definition DX12Shader.cpp:66
ComPtr< ID3DBlob > ByteCode
Definition DX12Shader.h:21
DX12Shader(const BaseShaderComponent *shader)
Definition DX12Shader.cpp:33
void CompileByFxc()
Definition DX12Shader.cpp:43
const BaseShaderComponent * Description
Definition DX12Shader.h:19
单个 DX12Render 拥有的 Shader GPU 缓存。
Definition DX12Shader.h:35
DX12ShaderLibrary(ResourceManager &resources)
Definition DX12Shader.cpp:117
size_t Size() const
Definition DX12Shader.h:45
bool IsCompiled
Definition DX12Shader.h:39
void CompileAll()
Definition DX12Shader.cpp:120
DX12Shader * TryGet(ResourceRef< BaseShaderComponent > shader) const
Definition DX12Shader.cpp:138
std::unordered_map< ResourceRef< BaseShaderComponent >, std::unique_ptr< DX12Shader >, ResourceRefHash< BaseShaderComponent > > Binaries
Definition DX12Shader.h:50
ResourceManager * Resources
Definition DX12Shader.h:48
应用级资源所有者和类型安全查询入口。 Manager 本身不是单例:Application 显式拥有它
Definition ResourceManager.h:34
资源的强类型引用,同时覆盖持久化 ID 与运行时索引两种边界。
Definition ResourceRef.h:36
世界矩阵 描述坐标系,左手坐标系 使用 DirectX12 坐标系的描述
Definition Application.h:15
Shader 派生类共享的后端无关编译描述。
Definition BaseShaderComponent.h:28