Ocular Engine
Ocular::Graphics::D3D11Texture2D Class Reference
Inheritance diagram for Ocular::Graphics::D3D11Texture2D:
Ocular::Graphics::Texture2D Ocular::Graphics::D3D11Texture Ocular::Graphics::Texture Ocular::Core::Resource

Public Member Functions

 D3D11Texture2D (TextureDescriptor const &descriptor, ID3D11Device *device)
 
virtual void unload () override
 
virtual void apply () override
 
virtual void refresh () override
 
- Public Member Functions inherited from Ocular::Graphics::Texture2D
 Texture2D (TextureDescriptor const &descriptor)
 
Core::Color getPixel (uint32_t x, uint32_t y) const
 
bool setPixel (uint32_t x, uint32_t y, Core::Color const &color)
 
bool getPixels (std::vector< Core::Color > &pixels, uint32_t startX=0, uint32_t startY=0, uint32_t width=0, uint32_t height=0) const
 
bool setPixels (std::vector< Core::Color > const &pixels, uint32_t startX=0, uint32_t startY=0, uint32_t width=0, uint32_t height=0)
 
unsigned getWidth () const
 
void setWidth (uint32_t const &width)
 
unsigned getHeight () const
 
void setHeight (uint32_t const &height)
 
- Public Member Functions inherited from Ocular::Graphics::Texture
 Texture (TextureDescriptor const &descriptor)
 
TextureDescriptor getDescriptor () 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)
 
- Public Member Functions inherited from Ocular::Graphics::D3D11Texture
 D3D11Texture (ID3D11Device *device)
 
ID3D11Texture2D * getD3DTexture2D ()
 
ID3D11ShaderResourceView * getD3DShaderResource ()
 

Protected Member Functions

virtual bool createD3DTexture2D (TextureDescriptor const &descriptor) override
 
- Protected Member Functions inherited from Ocular::Graphics::Texture2D
void getTrueDimensions (uint32_t startX, uint32_t startY, uint32_t &trueWidth, uint32_t &trueHeight) const
 
- Protected Member Functions inherited from Ocular::Graphics::D3D11Texture
virtual bool createD3DShaderResource (TextureDescriptor const &descriptor)
 
void refresh (std::vector< Core::Color > &pixels, Graphics::TextureDescriptor const &descriptor)
 

Additional Inherited Members

- Protected Attributes inherited from Ocular::Graphics::Texture2D
std::vector< Core::Colorm_Pixels
 
- Protected Attributes inherited from Ocular::Graphics::Texture
TextureDescriptor m_Descriptor
 
- 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
 
- Protected Attributes inherited from Ocular::Graphics::D3D11Texture
ID3D11Device * m_D3DDevice
 
ID3D11Texture2D * m_D3DTexture
 
ID3D11ShaderResourceView * m_D3DShaderResourceView
 
DXGI_FORMAT m_D3DFormat
 

Member Function Documentation

void Ocular::Graphics::D3D11Texture2D::apply ( )
overridevirtual

Applies any manually made pixel changes of the texture to the GPU. Textures will not be updated (i.e. changes rendered) until this method is called.

Note
Texture CPU access must be set to TextureAccess::WriteOnly or TextureAccess::ReadWrite in order to modify a texture at runtime.
Todo:
Apply CPU changes to Texture2D

Reimplemented from Ocular::Graphics::Texture2D.

void Ocular::Graphics::D3D11Texture2D::refresh ( )
overridevirtual

Refreshes the CPU texture data with any data stored on the GPU. This action can overwrite pre-existing CPU data.

Note
Texture CPU access must be set to TextureAccess::ReadOnly or TextureAccess::ReadWrite in order to refresh the CPU data at runtime.

Reimplemented from Ocular::Graphics::Texture2D.

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

Unloads all CPU data related to this texture.

If this is an instance of an API-specific texture implementation (such as D3D11Texture2D), then all GPU-related data will also be freed and all API-specific structures released.

Reimplemented from Ocular::Graphics::Texture2D.


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