VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtProjected2DTexturedEffect.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2017 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvGraphics/Dt2DEffect.h>
13 
14 namespace makVrv
15 {
16 
20  {
21  public:
22 
24  DtProjected2DTexturedEffect(const std::string& dataPath, bool textureIsAlpha);
25 
27  virtual ~DtProjected2DTexturedEffect();
28 
30  virtual void setCamera( bool geocentric, float geocentricAlpha,
31  const double position[3]
32  , const double positionMatrix[16]
33  , const double projectionMatrix[16]);
34 
35 
36  //Set the number of groups.
37  virtual void setGroupCount( unsigned int count );
38 
40  virtual void setBackgroundImageTextureUnit( unsigned int unit );
41 
42  // Sets the given attributes to the OpenGL context.
43  virtual void setVertexAttribPointers( size_t stride,
44  const VertexAttribPtrInfo& positionAddress,
45  const VertexAttribPtrInfo& colorAddress,
46  const VertexAttribPtrInfo& uvAddress,
47  const VertexAttribPtrInfo& offsetAddress,
48  const VertexAttribPtrInfo& rotAddress );
49 
51  virtual void unsetVertexAttribPointers();
52 
53  protected:
54 
56  virtual void updateUniformLocations();
57 
59  virtual void updateUniforms();
60 
62  virtual void initializeShaderSource( void );
63 
64  protected:
65 
73 
74  unsigned int myUnit;
75  unsigned int myGroupCount;
76  double myCameraPos[3];
77  double myPositionMatrix[16];
78  double myProjectionMatrix[16];
82 
83  void updateGroupCountAndTextureUniforms();
84  void updateOtherUniforms();
85  };
86 
87 
91  {
92  public:
93 
94  DtProjected2DTexturedEffectCreator( bool textureIsAlpha )
95  : myTextureIsAlpha( textureIsAlpha )
96  {
97  }
98 
99  virtual DtEffect* create(const std::string& dataPath, CreateParameters* params = 0)
100  {
101  return new DtProjected2DTexturedEffect( dataPath, myTextureIsAlpha );
102  }
103 
104  protected:
105 
107 
108  };
109 
110 }
int myUniform_GroupCount
Definition: DtProjected2DTexturedEffect.h:70
bool myTextureIsAlpha
Definition: DtProjected2DTexturedEffect.h:79
int myUniform_PositionMat
Definition: DtProjected2DTexturedEffect.h:68
Contains the makVrv::Dt2DEffect class declaration.
Abstract creator class for registering effects with a effects manager.
Definition: DtEffect.h:94
float myGeocentricAlpha
Definition: DtProjected2DTexturedEffect.h:81
A extended precision 2D quad rendering effect.
Definition: DtProjected2DTexturedEffect.h:19
int myUniform_ProjectionMat
Definition: DtProjected2DTexturedEffect.h:69
virtual DtEffect * create(const std::string &dataPath, CreateParameters *params=0)
Definition: DtProjected2DTexturedEffect.h:99
unsigned int myGroupCount
Definition: DtProjected2DTexturedEffect.h:75
#define DT_DLL_VRVGRAPHICS
Contains DLL export macros.
Definition: vrvGraphics.h:19
int myUniform_OccludedAlpha
Definition: DtProjected2DTexturedEffect.h:72
DtProjected2DTexturedEffectCreator(bool textureIsAlpha)
Definition: DtProjected2DTexturedEffect.h:94
Definition: DtEffect.h:23
A creator class for the Projected 2D textured quad effect.
Definition: DtProjected2DTexturedEffect.h:90
The base class for a programmable pipeline render effect.
Definition: DtEffect.h:19
The 2D effect is an abstract interface for effects used to render in 2D.
Definition: Dt2DEffect.h:19
int myUniform_CameraPos
Definition: DtProjected2DTexturedEffect.h:67
bool myTextureIsAlpha
Definition: DtProjected2DTexturedEffect.h:106
int myUniform_Sphere
Definition: DtProjected2DTexturedEffect.h:71
int myUniform_Texture
Definition: DtProjected2DTexturedEffect.h:66
bool myGeocentricFlag
Definition: DtProjected2DTexturedEffect.h:80
unsigned int myUnit
Definition: DtProjected2DTexturedEffect.h:74

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)