VR-Forces Developer's Guide
 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) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 #pragma once
10 
14 
15 #include <vrvMath/DtCommonTypes.h>
16 #include <vrvMath/DtDataFormat.h>
17 
18 namespace makVrv
19 {
21  {
22  // 1D texture, used in combination with 1D texture coordinates
24  // 2D texture, used in combination with 2D texture coordinates (default)
26  // 3D volume texture, used in combination with 3D texture coordinates
28  // 3D cube map, used in combination with 3D texture coordinates
30  // 2D texture array
32  };
33 
37  {
38  public:
40  DtGlSimpleTexture(const char * name, const byte* pData, size_t byteLength);
41 
43  DtGlSimpleTexture(const char * name, TextureType type
44  , size_t width, size_t height, size_t depth
45  , DtDataFormat format
46  , const DtUsage usage, const DtCpuAccess cpuAccess, const int bindFlags
47  );
48 
50  DtGlSimpleTexture(const char * name, TextureType type
51  , size_t externalRefTexID);
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  protected:
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:27
Definition: DtGlSimpleTexture.h:23
Definition: DtGlSimpleTexture.h:29
Wrapper for OpenGL Texture.
Definition: DtGlSimpleTexture.h:36
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:20
std::string myName
Definition: DtGlSimpleTexture.h:91
Definition: DtGlSimpleTexture.h:31
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:25
#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 Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)