Ocular Engine
Ocular::Graphics::D3D11VertexShader Class Reference
Inheritance diagram for Ocular::Graphics::D3D11VertexShader:
Ocular::Graphics::VertexShader Ocular::Graphics::Shader Ocular::Core::Resource

Public Member Functions

 D3D11VertexShader (ID3D11Device *device, ID3D11DeviceContext *context)
 
virtual void unload () override
 
virtual void bind () override
 
virtual void unbind () override
 
void setD3DShader (ID3D11VertexShader *shader)
 
ID3D11VertexShader * getD3DShader ()
 
void setD3DBlob (ID3DBlob *blob)
 
ID3DBlob * getD3DBlob ()
 
- Public Member Functions inherited from Ocular::Graphics::Shader
ShaderProgramgetParent () const
 
- Public Member Functions inherited from Ocular::Core::Resource
 Resource (File const &source)
 
virtual void forceLoad ()
 
File getSourceFile () const
 
void setSourceFile (File const &file)
 
void setIsInMemory (bool inMemory)
 
bool isInMemory () const
 
void setSize (uint64_t size)
 
uint64_t getSize () const
 
ResourceType getResourceType () const
 
void setName (std::string const &name)
 
std::string const & getName () const
 
std::string const & getMappingName () const
 
void setMappingName (std::string const &name)
 
ResourceMetadatagetMetadata () const
 
void setMetadata (ResourceMetadata *metadata)
 

Protected Member Functions

bool createInputLayout ()
 

Protected Attributes

ID3D11Device * m_D3DDevice
 
ID3D11DeviceContext * m_D3DDeviceContext
 
ID3D11VertexShader * m_D3DShader
 
ID3DBlob * m_D3DBlob
 
- Protected Attributes inherited from Ocular::Graphics::Shader
ShaderProgramm_Parent
 
- Protected Attributes inherited from Ocular::Core::Resource
ResourceType m_Type
 
ResourceMetadatam_Metadata
 
File m_SourceFile
 
bool m_IsInMemory
 
uint64_t m_SizeInMemory
 
std::string m_Name
 
std::string m_MappingName
 

Static Protected Attributes

static ID3D11InputLayout * m_D3DInputLayout = nullptr
 

Friends

class D3D11GraphicsDriver
 

Member Function Documentation

void Ocular::Graphics::D3D11VertexShader::bind ( )
overridevirtual

Binds the shader and sets it as the active render shader.

Reimplemented from Ocular::Graphics::VertexShader.

ID3DBlob * Ocular::Graphics::D3D11VertexShader::getD3DBlob ( )
Returns
The ID3DBlob of information associated with this shader. May return NULL if none present.
ID3D11VertexShader * Ocular::Graphics::D3D11VertexShader::getD3DShader ( )
Returns
The current D3D11-specific shader interface. May return NULL if none present.
void Ocular::Graphics::D3D11VertexShader::setD3DBlob ( ID3DBlob *  blob)

Sets the ID3DBlob of information associated with this shader.

Note that this object will take full ownership of the blob and release it upon it's own unload/destruction. If this object already owns a D3D blob, it will release it prior to assuming ownership.

Parameters
[in]blobNew ID3DBlob instance
void Ocular::Graphics::D3D11VertexShader::setD3DShader ( ID3D11VertexShader *  shader)

Sets the D3D-specific shader owned by this object.

Note that this object will take full ownership of the shader instance and release it upon it's own unload/destruction. If this object already owns a D3D shader, it will release it prior to assuming ownership.

Parameters
[in]shaderNew ID3D11VertexShader instance
void Ocular::Graphics::D3D11VertexShader::unbind ( )
overridevirtual

Unbinds the shader as the active render shader.

Reimplemented from Ocular::Graphics::VertexShader.

void Ocular::Graphics::D3D11VertexShader::unload ( )
overridevirtual

Frees all memory used by this Resource.

Reimplemented from Ocular::Graphics::VertexShader.


The documentation for this class was generated from the following files: