slot 0.0.1
A real time UI render framework
载入中...
搜索中...
未找到
Public 成员函数 | Public 属性 | Private 属性 | 所有成员列表
z8::DX12ShaderLibrary类 参考

单个 DX12Render 拥有的 Shader GPU 缓存。 更多...

#include <DX12Shader.h>

z8::DX12ShaderLibrary 的协作图:
Collaboration graph
[图例]

Public 成员函数

 DX12ShaderLibrary (ResourceManager &resources)
 
void CompileAll ()
 
DX12ShaderTryGet (ResourceRef< BaseShaderComponent > shader) const
 
size_t Size () const
 

Public 属性

bool IsCompiled = false
 

Private 属性

ResourceManagerResources
 
std::unordered_map< ResourceRef< BaseShaderComponent >, std::unique_ptr< DX12Shader >, ResourceRefHash< BaseShaderComponent > > Binaries
 

详细描述

单个 DX12Render 拥有的 Shader GPU 缓存。

CPU Shader 由 ResourceManager 统一拥有;该类仅保存设备相关的编译产物,避免 Shader 资源反向依赖 DirectX 12。

构造及析构函数说明

◆ DX12ShaderLibrary()

DX12ShaderLibrary::DX12ShaderLibrary ( ResourceManager & resources)
explicit

成员函数说明

◆ CompileAll()

void DX12ShaderLibrary::CompileAll ( )

编译当前 ResourceManager 中的所有 Shader;同一 Library 内重复调用直接复用。

这是这个函数的调用关系图:

◆ Size()

size_t z8::DX12ShaderLibrary::Size ( ) const
inline

◆ TryGet()

DX12Shader * DX12ShaderLibrary::TryGet ( ResourceRef< BaseShaderComponent > shader) const

查询设备相关字节码,不拥有传入的 CPU Shader 引用。

类成员变量说明

◆ Binaries

std::unordered_map<ResourceRef<BaseShaderComponent>, std::unique_ptr<DX12Shader>, ResourceRefHash<BaseShaderComponent> > z8::DX12ShaderLibrary::Binaries
private

◆ IsCompiled

bool z8::DX12ShaderLibrary::IsCompiled = false

◆ Resources

ResourceManager* z8::DX12ShaderLibrary::Resources
private

该类的文档由以下文件生成: