port from perforce
This commit is contained in:
57
aiwaz/Aiwaz/Resources/Texture/Texture.h
Normal file
57
aiwaz/Aiwaz/Resources/Texture/Texture.h
Normal file
@@ -0,0 +1,57 @@
|
||||
#pragma once
|
||||
|
||||
#include "ITexture.h"
|
||||
#include "IFileSystem.h"
|
||||
#include "../ShaderParameterCollection/ShaderParameterCollection.h"
|
||||
#include "../../Commands/CommandUserBase.h"
|
||||
|
||||
|
||||
class Texture
|
||||
: public ITexture
|
||||
, public ShaderParameterCollection
|
||||
{
|
||||
public:
|
||||
Texture(IEngine& argEngine);
|
||||
virtual ~Texture();
|
||||
|
||||
virtual void Uninitialize();
|
||||
|
||||
// ITexture
|
||||
virtual string8 get_BindingName() const { return m_TextureBindingName; }
|
||||
virtual void set_BindingName(const string8& argName);
|
||||
virtual string16 get_FileName() const { return m_FileName; }
|
||||
virtual uint32 get_TextureWidth() const{ return m_TextureWidth; }
|
||||
virtual uint32 get_TextureHeight() const { return m_TextureHeight; }
|
||||
virtual uint32 get_TextureArraySize() const { return m_TextureArraySize; }
|
||||
virtual DataFormat::Enumeration get_TextureFormat() const{ return m_TextureFormat; }
|
||||
|
||||
virtual void LoadFromFile(const string16& argFileName, DataAccessType::Enumeration argAccessType = DataAccessType::Static);
|
||||
virtual void CreateTexture(const CreateTextureDescriptor& argDesc);
|
||||
virtual LockedTextureData LockTextureBuffer(DataAccessMode::Enumeration argAccessMode, uint32 argArrayElement = 0);
|
||||
virtual void UnlockTextureBuffer();
|
||||
virtual void CreateRenderTargetTexture(uint32 argWidth, uint32 argHeight, DataFormat::Enumeration argFormat, uint32 argMultiSampleCount, uint32 argMultiSampleQuality);
|
||||
virtual ID3D10ShaderResourceView* get_ResourceViewFromTexture() const { return m_ShaderResourceView; }
|
||||
virtual ID3D10Texture2D* get_Texture2D() const { return m_Texture; }
|
||||
|
||||
protected:
|
||||
// ICommandUser
|
||||
virtual string8 get_UserName() const { return "Texture"; }
|
||||
|
||||
protected:
|
||||
void CreateTexture(uint32 argWidth, uint32 argHeight, uint32 argMipLevels, uint32 m_Elements, DataFormat::Enumeration argFormat, TextureInitialData* ar_InitialData_, DataAccessType::Enumeration argAccessType, bool argRenderTarget, uint32 argMultiSampleCount, uint32 argMultiSampleQuality);
|
||||
|
||||
private:
|
||||
ID3D10Buffer* m_TextureBuffer;
|
||||
ID3D10Resource* m_TextureResource;
|
||||
ID3D10ShaderResourceView* m_ShaderResourceView;
|
||||
ID3D10Texture2D* m_Texture;
|
||||
string16 m_FileName;
|
||||
uint32 m_TextureWidth;
|
||||
uint32 m_TextureHeight;
|
||||
uint32 m_TextureArraySize;
|
||||
DataFormat::Enumeration m_TextureFormat;
|
||||
|
||||
bool m_LockedTexture;
|
||||
uint32 m_LockedArrayElement;
|
||||
string8 m_TextureBindingName;
|
||||
};
|
||||
Reference in New Issue
Block a user