VR-Forces 4.10 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 
53  virtual void setName(const char * name) { myName = name; }
54 
56  virtual ~DtGlSimpleTexture();
57 
59  virtual DtDataFormat format(void) const;
60 
62  virtual size_t sizeInBytes(void) const;
63 
65  virtual size_t width(void) const;
67  virtual size_t height(void) const;
69  virtual size_t depth(void) const;
70 
72  virtual void copyData(void* pData);
73 
76  virtual void copyData(void* pData, size_t width, size_t height, size_t depth);
77 
78  virtual void bindTexture(void);
79 
81  virtual void setExternalTextureReference(size_t externalRefTexID);
82 
84  virtual size_t textureReference() const;
85 
87  virtual void releaseGLObjects();
88 
89  protected:
90  std::string myName;
91  unsigned int myTextureID;
93 
94  bool is1D(void) const;
95  bool is2D(void) const;
96  bool is3D(void) const;
97 
98  size_t myWidth;
99  size_t myHeight;
100  size_t myDepth;
103  };
104 }
Dll export defines.
size_t myHeight
Definition: DtGlSimpleTexture.h:99
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:92
unsigned int myTextureID
Definition: DtGlSimpleTexture.h:91
TextureType
Definition: DtGlSimpleTexture.h:19
std::string myName
Definition: DtGlSimpleTexture.h:90
Definition: DtGlSimpleTexture.h:30
Enumerations for various types of texture/buffer formats.
size_t myDepth
Definition: DtGlSimpleTexture.h:100
virtual void setName(const char *name)
set the name
Definition: DtGlSimpleTexture.h:53
DtDataFormat myFormat
Definition: DtGlSimpleTexture.h:101
DtDataFormat
Definition: DtDataFormat.h:15
Definition: DtGlSimpleTexture.h:24
#define DT_DLL_VRVGRAPHICSUTILS
Definition: vrvGraphicsUtils.h:18
size_t myWidth
Definition: DtGlSimpleTexture.h:98
bool myExternalTexRef
Definition: DtGlSimpleTexture.h:102
DtCpuAccess
Definition: DtCpuAccess.h:13

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)