VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtGlSimpleTexture.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 #pragma once
10 
16 
17 namespace makVrv
18 {
20  {
21  // 1D texture, used in combination with 1D texture coordinates
23  // 2D texture, used in combination with 2D texture coordinates (default)
25  // 3D volume texture, used in combination with 3D texture coordinates
27  // 3D cube map, used in combination with 3D texture coordinates
29  // 2D texture array
31  };
32 
36  {
37  public:
39  DtGlSimpleTexture(const char * name, const byte* pData, size_t byteLength);
40 
42  DtGlSimpleTexture(const char * name, TextureType type
43  , size_t width, size_t height, size_t depth
44  , DtDataFormat format
45  , const DtUsage usage, const DtCpuAccess cpuAccess, const int bindFlags
46  );
47 
49  DtGlSimpleTexture(const char * name, TextureType type
50  , size_t externalRefTexID
51  , size_t width = 1, size_t height = 1, size_t depth = 1);
52 
54  virtual void setName(const char * name) { myName = name; }
55 
57  virtual ~DtGlSimpleTexture();
58 
60  virtual DtDataFormat format(void) const;
61 
63  virtual size_t sizeInBytes(void) const;
64 
66  virtual size_t width(void) const;
68  virtual size_t height(void) const;
70  virtual size_t depth(void) const;
71 
73  virtual void copyData(void* pData);
74 
77  virtual void copyData(void* pData, size_t width, size_t height, size_t depth);
78 
79  virtual void bindTexture(void);
80 
82  virtual void setExternalTextureReference(size_t externalRefTexID);
83 
85  virtual size_t textureReference() const;
86 
88  virtual void releaseGLObjects();
89 
90  private:
91  std::string myName;
92  unsigned int myTextureID;
94 
95  bool is1D(void) const;
96  bool is2D(void) const;
97  bool is3D(void) const;
98 
99  size_t myWidth;
100  size_t myHeight;
101  size_t myDepth;
104  };
105 }
Dll export defines.
size_t myHeight
Definition: DtGlSimpleTexture.h:100
Definition: DtGlSimpleTexture.h:26
Definition: DtGlSimpleTexture.h:22
Definition: DtGlSimpleTexture.h:28
Wrapper for OpenGL Texture.
Definition: DtGlSimpleTexture.h:35
Buffer Usage enums.
DtUsage
Definition: DtUsage.h:13
unsigned char byte
Definition: DtCommonTypes.h:36
Enumerations for cpu access required by textures/buffers.
TextureType myTextureType
Definition: DtGlSimpleTexture.h:93
unsigned int myTextureID
Definition: DtGlSimpleTexture.h:92
TextureType
Definition: DtGlSimpleTexture.h:19
std::string myName
Definition: DtGlSimpleTexture.h:91
Definition: DtGlSimpleTexture.h:30
Enumerations for various types of texture/buffer formats.
size_t myDepth
Definition: DtGlSimpleTexture.h:101
virtual void setName(const char *name)
set the name
Definition: DtGlSimpleTexture.h:54
DtDataFormat myFormat
Definition: DtGlSimpleTexture.h:102
DtDataFormat
Definition: DtDataFormat.h:15
Definition: DtGlSimpleTexture.h:24
#define DT_DLL_VRVGRAPHICSUTILS
Definition: vrvGraphicsUtils.h:18
size_t myWidth
Definition: DtGlSimpleTexture.h:99
bool myExternalTexRef
Definition: DtGlSimpleTexture.h:103
DtCpuAccess
Definition: DtCpuAccess.h:13

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)