VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtIndirectGlTextureObject.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2021 VT-MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 #include <vrvOsg/vrvOsg.h>
12 
13 #include <osg/ref_ptr>
14 
15 #include <set>
16 
17 namespace osg
18 {
19  class Texture;
20 }
21 
22 namespace makVrv
23 {
27  {
28  public:
31 
34 
36  DtIndirectGlTextureObject() = delete;
41 
43  virtual void addRef(osg::ref_ptr<const osg::Texture> osgTexture);
44 
46  virtual void removeRef(osg::ref_ptr<const osg::Texture> osgTexture);
47 
49  virtual bool hasReference(osg::ref_ptr<const osg::Texture> osgTexture) const;
50 
52  virtual const std::set<osg::ref_ptr<const osg::Texture>>& referencingOsgTextures(void) const;
53 
54  public:
56  virtual bool isDownloaded(void) const;
57 
59  virtual unsigned int textureId(void) const;
60 
61  public:
64  std::set<osg::ref_ptr<const osg::Texture>> myOsgTextures;
65 
66  protected:
68  unsigned int myGlTextureId;
69  };
70 }
Diagonal crossing liens.
Definition: DtTacticalGraphicUtilities.h:93
std::set< osg::ref_ptr< const osg::Texture > > myOsgTextures
back pointer to the osg textures that reference it (multiple textures can refer to the same texture o...
Definition: DtIndirectGlTextureObject.h:64
Encapsulate a gl texture object that is created/used in indirect rendering The life time of these is ...
Definition: DtIndirectGlTextureObject.h:26
virtual ~DtIndirectGlTextureObject()
destructor
virtual void addRef(osg::ref_ptr< const osg::Texture > osgTexture)
add ref, only if it does not exist
virtual const std::set< osg::ref_ptr< const osg::Texture > > & referencingOsgTextures(void) const
osg textures that reference this
virtual void removeRef(osg::ref_ptr< const osg::Texture > osgTexture)
remove ref, only if it exists
virtual bool hasReference(osg::ref_ptr< const osg::Texture > osgTexture) const
is this osg texture referencing the underlying gl texture object?
virtual unsigned int textureId(void) const
the actual gl texture object id
virtual bool isDownloaded(void) const
is fully downloaded(streamed)?
DtIndirectGlTextureObject()=delete
not allowed
Contains DLL export macros.
DtIndirectGlTextureObject & operator=(DtIndirectGlTextureObject &rhs)=delete
not allowed
unsigned int myGlTextureId
the gl texture id
Definition: DtIndirectGlTextureObject.h:68

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)