Ocular Engine
Texture.hpp
1 
17 #pragma once
18 #ifndef __H__OCULAR_GRAPHICS_TEXTURE__H__
19 #define __H__OCULAR_GRAPHICS_TEXTURE__H__
20 
21 #include "Resources/Resource.hpp"
22 #include "TextureDescriptor.hpp"
23 
24 #define OCULAR_MAX_TEXTURE_WIDTH 16384
25 #define OCULAR_MAX_TEXTURE_HEIGHT 16384
26 
27 //------------------------------------------------------------------------------------------
28 
33 namespace Ocular
34 {
39  namespace Graphics
40  {
45  class Texture : public Core::Resource
46  {
47  public:
48 
52  Texture(TextureDescriptor const& descriptor);
53  virtual ~Texture();
54 
55  //----------------------------------------
56  // Inherited
57 
58  virtual void unload() = 0;
59 
67  virtual void apply() = 0;
68 
76  virtual void refresh() = 0;
77 
82 
83  protected:
84 
85  TextureDescriptor m_Descriptor;
86 
87  private:
88  };
89  }
93 }
98 //------------------------------------------------------------------------------------------
99 
100 #endif
Note: Once this library is made dynamic, this will no longer be needed.
Definition: Common.hpp:70
TextureDescriptor getDescriptor() const
Definition: Texture.cpp:43
Definition: TextureDescriptor.hpp:45
Texture(TextureDescriptor const &descriptor)
Definition: Texture.cpp:29
virtual void unload()=0
virtual void refresh()=0
virtual void apply()=0
Definition: Resource.hpp:46
Base class for all texture objects.
Definition: Texture.hpp:45