VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtTileSpaceLightGrid.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 #pragma once
10 
13 
14 #include <vrvMath/DtMatrix4.h>
15 
16 #pragma warning( push )
17 #pragma warning( disable : 4251 )
18 
21 
23 #include <vrvMath/DtVector2.h>
24 #include <vrvMath/DtScreenRect.h>
25 #include <vrvMath/DtIntSize.h>
26 
27 namespace makVrv
28 {
34 #define CPU_SIDE_COMPILATION 1
35 #include <../data/shaders/lights/DtLightIndexData.h>
36 #undef CPU_SIDE_COMPILATION
37 
38  struct DtLightScreenSpacePerViewData;
39 
43  {
44  public:
47 
49  virtual ~DtTileSpaceLightGrid();
50 
51  private:
53  DtTileSpaceLightGrid(const DtTileSpaceLightGrid& other) = delete;
55  DtTileSpaceLightGrid &operator=(const DtTileSpaceLightGrid& other) = delete;
56 
57  public:
59  virtual void setTileSize(const Vector2_uint32& tileSize);
60 
62  virtual const Vector2_uint32& tileSize(void) const;
63 
65  virtual const Vector2_uint32 tileSizeLog2(void) const;
66 
67 
69  virtual const Vector2_uint32& gridMaxDims(void) const;
70 
72  virtual uint32 gridMaxDimsFlattened(void) const;
73 
75  virtual void update(const std::vector<const DtLight*>& frustumVisibleLights
76  , const std::vector<DtLight*>& packedLights
77  , const Vector2_uint32& viewportSize);
78 
80  virtual const DtLightIndexData* tileLightIndexListsPtr() const;
81 
83  virtual uint32 totalTileLightIndexListLength() const;
84 
85  protected:
87  virtual void updateToAccountForScreenRes(const Vector2_uint32& viewportSize);
88 
89  protected:
91 
92  protected:
93 
95 
97 
99 
100  std::vector<DtLightIndexData> myTileLightIndexLists;
101  };
102 
103 } //namespace makVrv
104 
105 #pragma warning(pop)
Dll export defines.
static const Vector2_uint32 theInitialMaxScreenResolution
Definition: DtTileSpaceLightGrid.h:90
2 dimensional vector
Screenspace light data.
Vector2_uint32 myGridMaxDims
Definition: DtTileSpaceLightGrid.h:98
Screen Space Rectangle class.
Camera forward declarations.
Vector2_uint32 myTileSize
Definition: DtTileSpaceLightGrid.h:94
std::vector< DtLightIndexData > myTileLightIndexLists
Definition: DtTileSpaceLightGrid.h:100
Vector2_uint32 myCurrentMaxScreenResolution
Definition: DtTileSpaceLightGrid.h:96
Light class.
Class doing all the heavy lifting in regards of forward+ lighting.
Definition: DtTileSpaceLightGrid.h:42
DtIntSize class.
unsigned int uint32
Definition: DtCommonTypes.h:28
#define DT_DLL_VRVGRAPHICSUTILS
Definition: vrvGraphicsUtils.h:18
Helpers to easily define forward declarations.
4 dimensional matrix

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)