VR-Forces Developer's Guide
 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) 2022 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvGraphics/Dt2DEffect.h>
13 
14 namespace makVrv
15 {
19  {
20  public:
22  DtProjected2DTexturedEffect(const std::string& dataPath, const std::string& defines, bool textureIsAlpha);
23 
25  virtual ~DtProjected2DTexturedEffect();
26 
29  virtual void setCamera( bool geocentric, float geocentricAlpha,
30  const double position[3]
31  , const double positionMatrix[16]
32  , const double projectionMatrix[16]
33  , const int viewport[4]) override;
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  protected:
43 
45  virtual void updateUniformLocations();
46 
48  virtual void updateUniforms();
49 
51  virtual void initializeShaderSource();
52 
53  protected:
54 
63 
64  unsigned int myUnit;
65  unsigned int myGroupCount;
66  double myCameraPos[3];
67  double myPositionMatrix[16];
68  double myProjectionMatrix[16];
69  float myViewport[4];
73 
74  void updateGroupCountAndTextureUniforms();
75  void updateOtherUniforms();
76  };
77 
78 
82  {
83  public:
84 
85  DtProjected2DTexturedEffectCreator( bool textureIsAlpha )
86  : myTextureIsAlpha( textureIsAlpha )
87  {
88  }
89 
90  virtual DtEffect* create(const std::string& dataPath, const std::string& defines, CreateParameters* params = 0)
91  {
92  return new DtProjected2DTexturedEffect( dataPath, defines, myTextureIsAlpha );
93  }
94 
95  protected:
96 
98 
99  };
100 
101 }
int myUniform_GroupCount
Definition: DtProjected2DTexturedEffect.h:59
bool myTextureIsAlpha
Definition: DtProjected2DTexturedEffect.h:70
int myUniform_PositionMat
Definition: DtProjected2DTexturedEffect.h:57
Contains the makVrv::Dt2DEffect class declaration.
Abstract creator class for registering effects with a effects manager.
Definition: DtEffect.h:108
float myGeocentricAlpha
Definition: DtProjected2DTexturedEffect.h:72
A extended precision 2D quad rendering effect.
Definition: DtProjected2DTexturedEffect.h:18
int myUniform_ProjectionMat
Definition: DtProjected2DTexturedEffect.h:58
unsigned int myGroupCount
Definition: DtProjected2DTexturedEffect.h:65
#define DT_DLL_VRVGRAPHICS
Contains DLL export macros.
Definition: vrvGraphics.h:19
int myUniform_OccludedAlpha
Definition: DtProjected2DTexturedEffect.h:61
int myUniform_ViewportSize
Definition: DtProjected2DTexturedEffect.h:62
DtProjected2DTexturedEffectCreator(bool textureIsAlpha)
Definition: DtProjected2DTexturedEffect.h:85
A creator class for the Projected 2D textured quad effect.
Definition: DtProjected2DTexturedEffect.h:81
virtual DtEffect * create(const std::string &dataPath, const std::string &defines, CreateParameters *params=0)
Definition: DtProjected2DTexturedEffect.h:90
The base class for a programmable pipeline render effect.
Definition: DtEffect.h:20
The 2D effect is an abstract interface for effects used to render in 2D.
Definition: Dt2DEffect.h:19
int myUniform_CameraPos
Definition: DtProjected2DTexturedEffect.h:56
bool myTextureIsAlpha
Definition: DtProjected2DTexturedEffect.h:97
int myUniform_Sphere
Definition: DtProjected2DTexturedEffect.h:60
int myUniform_Texture
Definition: DtProjected2DTexturedEffect.h:55
bool myGeocentricFlag
Definition: DtProjected2DTexturedEffect.h:71
unsigned int myUnit
Definition: DtProjected2DTexturedEffect.h:64

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)