VR-Forces 5.0.1 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) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 #pragma once
10 
14 
15 #pragma warning( push )
16 #pragma warning( disable : 4251 )
17 
24 
25 namespace makVrv
26 {
32 #define CPU_SIDE_COMPILATION 1
33 #include <../data/shaders/lights/DtLightIndexData.h>
34 #undef CPU_SIDE_COMPILATION
35 
36  struct DtLightScreenSpacePerViewData;
37 
41  {
42  public:
45 
47  virtual ~DtTileSpaceLightGrid();
48 
49  private:
51  DtTileSpaceLightGrid(const DtTileSpaceLightGrid& other) = delete;
53  DtTileSpaceLightGrid &operator=(const DtTileSpaceLightGrid& other) = delete;
54 
55  public:
57  virtual void setTileSize(const Vector2_uint32& tileSize);
58 
60  virtual const Vector2_uint32& tileSize(void) const;
61 
63  virtual const Vector2_uint32 tileSizeLog2(void) const;
64 
65 
67  virtual const Vector2_uint32& gridMaxDims(void) const;
68 
70  virtual uint32 gridMaxDimsFlattened(void) const;
71 
73  virtual void update(const VectorLights& frustumVisibleLights
74  , const VectorLights& packedLights
75  , const Vector2_uint32& viewportSize);
76 
78  virtual const DtLightIndexData* tileLightIndexListsPtr() const;
79 
81  virtual uint32 totalTileLightIndexListLength() const;
82 
83  protected:
85  virtual void updateToAccountForScreenRes(const Vector2_uint32& viewportSize);
86 
87  protected:
89 
90  protected:
91 
93 
95 
97 
98  std::vector<DtLightIndexData> myTileLightIndexLists;
99  };
100 
101 } //namespace makVrv
102 
103 #pragma warning(pop)
Dll export defines.
static const Vector2_uint32 theInitialMaxScreenResolution
Definition: DtTileSpaceLightGrid.h:88
2 dimensional vector
Screenspace light data.
Vector2_uint32 myGridMaxDims
Definition: DtTileSpaceLightGrid.h:96
Screen Space Rectangle class.
Camera forward declarations.
Vector2_uint32 myTileSize
Definition: DtTileSpaceLightGrid.h:92
std::vector< DtLightIndexData > myTileLightIndexLists
Definition: DtTileSpaceLightGrid.h:98
Vector2_uint32 myCurrentMaxScreenResolution
Definition: DtTileSpaceLightGrid.h:94
Light class.
Class doing all the heavy lifting in regards of forward+ lighting.
Definition: DtTileSpaceLightGrid.h:40
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 Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)