29 #include "ShaderD3D11.h" 30 #include "RenderDeviceD3D11.h" 31 #include "ShaderBase.h" 32 #include "ShaderD3DBase.h" 33 #include "ShaderResourceLayoutD3D11.h" 34 #include "ShaderResourceCacheD3D11.h" 35 #include "EngineD3D11Defines.h" 36 #include "ShaderResourcesD3D11.h" 41 class FixedBlockMemoryAllocator;
42 class ResourceMapping;
53 virtual void QueryInterface(
const Diligent::INTERFACE_ID &IID, IObject **ppInterface )
override final;
59 virtual ID3D11DeviceChild*
GetD3D11Shader()override final{
return m_pShader; }
61 ID3DBlob* GetBytecode(){
return m_pShaderByteCode;}
63 ShaderResourceLayoutD3D11& GetStaticResourceLayout(){
return m_StaticResLayout;}
64 const std::shared_ptr<const ShaderResourcesD3D11>& GetResources(){
return m_pShaderResources;}
65 Uint32 GetShaderTypeIndex(){
return m_ShaderTypeIndex;}
69 DummyShaderVariable m_DummyShaderVar;
72 CComPtr<ID3D11DeviceChild> m_pShader;
76 std::shared_ptr<const ShaderResourcesD3D11> m_pShaderResources;
78 ShaderResourceCacheD3D11 m_StaticResCache;
79 ShaderResourceLayoutD3D11 m_StaticResLayout;
80 Uint32 m_ShaderTypeIndex;
Shader resource variable.
Definition: Shader.h:265
Namespace for the OpenGL implementation of the graphics engine.
Definition: BufferD3D11Impl.h:34
Template class implementing base functionality for a shader object.
Definition: ShaderBase.h:172
Resouce mapping.
Definition: ResourceMapping.h:80
virtual ID3D11DeviceChild * GetD3D11Shader() override final
Returns a pointer to the ID3D11DeviceChild interface of the internal Direct3D11 object.
Definition: ShaderD3D11Impl.h:59
virtual void BindResources(IResourceMapping *pResourceMapping, Uint32 Flags) override final
Binds shader resources.
Definition: ShaderD3D11Impl.cpp:105
Implementation of the Diligent::IRenderDeviceD3D11 interface.
Definition: RenderDeviceD3D11Impl.h:38
Implementation of the Diligent::IShaderD3D11 interface.
Definition: ShaderD3D11Impl.h:45
virtual void QueryInterface(const Diligent::INTERFACE_ID &IID, IObject **ppInterface) override final
Queries the specific interface, see IObject::QueryInterface() for details.
virtual IShaderVariable * GetShaderVariable(const Char *Name) override final
Returns an interface to a shader variable. If the shader variable is not found, an interface to a dum...
Definition: ShaderD3D11Impl.cpp:97
Shader creation attributes.
Definition: Shader.h:204