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"
7#include "UI/Shader/Shader.h"
8
9#include <d3d12.h>
10#include <d3dcommon.h>
11#include <string>
12#include <unordered_map>
13
14
15namespace z8 {
18public:
21 void CompileByFxc();
22 void CompileByDxc();
23 D3D12_SHADER_BYTECODE GetByteCode() const;
24};
25
27{
28 DX12ShaderRegistry() = default;
29public:
30 std::unordered_map<std::string, Shader *> Shaders;
31
32 void Register(Shader* s);
33 Shader* Get(std::string name);
34
36 {
37 static DX12ShaderRegistry instance;
38 return instance;
39 }
40};
41
42template <typename ShaderTy>
44public:
48};
49
50}
51
Definition DX12Shader.h:16
D3D12_SHADER_BYTECODE GetByteCode() const
Definition DX12Shader.cpp:99
void CompileByDxc()
Definition DX12Shader.cpp:31
ComPtr< ID3DBlob > ByteCode
Definition DX12Shader.h:19
DX12Shader(Shader *s)
Definition DX12Shader.cpp:11
Shader * S
Definition DX12Shader.h:17
void CompileByFxc()
Definition DX12Shader.cpp:14
Definition DX12Shader.h:43
DX12ShaderRegister()
Definition DX12Shader.h:45
Definition DX12Shader.h:27
std::unordered_map< std::string, Shader * > Shaders
Definition DX12Shader.h:30
DX12ShaderRegistry()=default
void Register(Shader *s)
Definition DX12Shader.cpp:105
Shader * Get(std::string name)
Definition DX12Shader.cpp:113
static DX12ShaderRegistry & Instance()
Definition DX12Shader.h:35
Definition Application.h:14
Microsoft::WRL::ComPtr< T > ComPtr
Definition DX12Common.h:31
Definition Shader.h:10