VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtGpuCullingAndLodDefines.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2019 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
13 
17 
18 namespace makVrv
19 {
22  {
23  public:
25  DtIndirectFadeParameters(float fadeDuration, float fadeMaxRange, float fadeAttenuationRange);
26 
29 
30  public:
34  };
35 
39  {
40  public:
41  // ! constructor
43 
44  // ! destructor
45  virtual ~DtIndirectViewParameters();
46 
48  virtual void setModelViewMatrix(const Matrix4_64& modelViewMatrix);
50  virtual void setProjectionMatrix(const Matrix4_64& projectionMatrix);
51  virtual void setViewPortSize(const DtVector2<int>& viewportSize);
52  virtual void setCameraPosition(const Vector3_64& cameraPosition);
53  virtual void setZoomMagnification(float zoomMag);
54  virtual void setOrthoCulling(bool orthoCull);
55  virtual void setAltitude2D(float altitude2D);
56  virtual void setLodScaleEnabled(bool enabled);
57  virtual void setLodScale(float lodScale);
58  virtual void setFadeParameters(const DtIndirectFadeParameters& fadeParameters);
60 
62  virtual const Matrix4_64& modelViewMatrix(void) const;
64  virtual const Matrix4_64& projectionMatrix(void) const;
65  virtual const Vector3_64& cameraPosition(void) const;
66  virtual const DtVector2<int>& viewPortSize(void) const;
67  virtual float zoomMagnification(void) const;
68  virtual bool orthoCulling(void) const;
69  virtual float altitude2D(void) const;
70  virtual bool lodScaleEnabled(void) const;
71  virtual float lodScale(void) const;
72  virtual DtIndirectFadeParameters fadeParameters(void) const;
74 
75  protected:
80 
83  float myAltitude2D;
84 
86  float myLodScale;
87 
89  };
90 
95  {
96  public:
97 
100 
104  virtual void setGeometriesChanged(bool changed);
107  virtual void setPerInstanceDataChanged(bool changed);
108  virtual void setNumInstancesChanged(bool changed);
109  virtual void setAreInstanceTexturesDirty(bool dirty);
110 
111  virtual bool numInstancesChanged(void) const;
112  virtual bool geometriesChanged(void) const;
113  virtual int maxDrawCount(void) const;
114  virtual bool areInstanceTexturesDirty(void) const;
115  virtual bool perInstanceDataChanged() const;
117 
118  protected:
124  };
125 
131  {
132  int myInstanceId; // instance id
133  int myModelId; // model id;
134  int myGeometryIndex; // geometry index
136  };
137 
140  {
141  int myOffset;
142  int mySize;
143  };
144 }
float myFadeDuration
Definition: DtGpuCullingAndLodDefines.h:31
float myAltitude2D
Definition: DtGpuCullingAndLodDefines.h:83
struct for holding the fade parameters used by the indirect rendering cull compute shader ...
Definition: DtGpuCullingAndLodDefines.h:21
2 dimensional vector
structure for some internal GPU book-keeping
Definition: DtGpuCullingAndLodDefines.h:139
int myOffset
Definition: DtGpuCullingAndLodDefines.h:141
DtIndirectFadeParameters myFadeParameters
Definition: DtGpuCullingAndLodDefines.h:88
Dll export defines.
bool myPerInstanceDataChanged
Definition: DtGpuCullingAndLodDefines.h:123
#define DT_DLL_VRVINDIRECTRENDERING
Definition: vrvIndirectRendering.h:19
bool myGeometriesChanged
Definition: DtGpuCullingAndLodDefines.h:120
int mySize
Definition: DtGpuCullingAndLodDefines.h:142
DtVector2< int > myViewportSize
Definition: DtGpuCullingAndLodDefines.h:79
Vector3_64 myCameraPosition64
Definition: DtGpuCullingAndLodDefines.h:78
bool myAreInstanceTexturesDirty
Definition: DtGpuCullingAndLodDefines.h:122
Matrix4_64 myModelViewMatrix
Definition: DtGpuCullingAndLodDefines.h:76
Matrix4_64 myProjectionMatrix64
Definition: DtGpuCullingAndLodDefines.h:77
Class per frame that must be passed to the DtICullingAndLOD It indicates what would have changed (ins...
Definition: DtGpuCullingAndLodDefines.h:94
float myFadeAttenuationRange
Definition: DtGpuCullingAndLodDefines.h:33
int myMaxDrawCount
Definition: DtGpuCullingAndLodDefines.h:121
The class that is used to communicate the camera viewing parameters to the DtICullingAndLOD interface...
Definition: DtGpuCullingAndLodDefines.h:38
int myInstanceId
Definition: DtGpuCullingAndLodDefines.h:132
float myFadeMaxRange
Definition: DtGpuCullingAndLodDefines.h:32
int myGeometryIndex
Definition: DtGpuCullingAndLodDefines.h:134
float myZoomMagnification
Definition: DtGpuCullingAndLodDefines.h:81
bool myOrthoCulling
Definition: DtGpuCullingAndLodDefines.h:82
bool myLodScaleEnabled
Definition: DtGpuCullingAndLodDefines.h:85
bool myNumInstancesChanged
Definition: DtGpuCullingAndLodDefines.h:119
float myLodScale
Definition: DtGpuCullingAndLodDefines.h:86
cull shader will cull/lod instance geometries and generate a list of instances that are visible...
Definition: DtGpuCullingAndLodDefines.h:130
int myUserData
Definition: DtGpuCullingAndLodDefines.h:135
int myModelId
Definition: DtGpuCullingAndLodDefines.h:133
4 dimensional matrix

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)