VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtDiGuyOsgGraphicsTexture.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 /*********************************************************************
12  **
13  *2 DtDiGuyOsgGraphicsTexture
14  **
15  */
16 #include <vrvDiGuy/vrvDiGuy.h>
17 
18 #include <diguyGraphicsTexture.h>
19 
20 #include <osg/Texture2D>
21 #include <osg/Image>
22 #include <osg/StateSet>
23 
24 namespace makVrv
25 {
31 
33  {
34 
35  public:
36 
37  DtDiGuyOsgGraphicsTexture(void* internal_data);
38  virtual ~DtDiGuyOsgGraphicsTexture();
39 
40  virtual void asynchronous_post_load() override;
41 
42  virtual void build() override;
43  virtual void unbuild() override;
44 
45  // needed for particle rendering
46  virtual void bind_now(diguyTextureMapType texture_type);
47  osg::Texture2D* texture() { return m_texture.get(); }
48 
49  static void setCurrentStateForTextureBind(osg::State* state) { sm_state = state; }
51 
52  void releaseGLObjects();
53 
54  protected:
55 
58 
59 
60  private:
64  DtDiGuyOsgGraphicsTexture& operator=(const DtDiGuyOsgGraphicsTexture&) = delete;
65 
66  public:
67  typedef std::vector<DtDiGuyOsgGraphicsTexture*> TextureList;
68  // FIXME: should refactor to rooted singleton pattern
70  };
71 }
77 
static void setCurrentStateForTextureBind(osg::State *state)
Definition: DtDiGuyOsgGraphicsTexture.h:49
osg::Texture2D * texture()
Definition: DtDiGuyOsgGraphicsTexture.h:47
osg::ref_ptr< osg::Texture2D > m_texture
Definition: DtDiGuyOsgGraphicsTexture.h:56
diguyGraphicsTexture * diguyOsgGraphicsTexture_create_func(void *internal_data)
Create function declaration.
static TextureList s_textures
Definition: DtDiGuyOsgGraphicsTexture.h:69
Contains DLL export macros.
std::vector< DtDiGuyOsgGraphicsTexture * > TextureList
Definition: DtDiGuyOsgGraphicsTexture.h:67
Class declaration.
Definition: DtDiGuyOsgGraphicsTexture.h:32
osg::ref_ptr< osg::Image > m_image
Definition: DtDiGuyOsgGraphicsTexture.h:57
static osg::ref_ptr< osg::State > sm_state
Definition: DtDiGuyOsgGraphicsTexture.h:50
#define DT_DLL_VRVDIGUY
Definition: vrvDiGuy.h:21

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)