LeviLamina
Loading...
Searching...
No Matches
LevelRendererShadowCamera.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/renderer/game/LevelRendererCameraListeners.h"
7#include "mc/client/renderer/game/ShadowRenderingParameters.h"
8#include "mc/deps/minecraft_renderer/game/LevelCullerType.h"
9
10// auto generated forward declare list
11// clang-format off
13class IClientInstance;
14class Level;
15class LevelRenderer;
16class Options;
17class Player;
18class ScreenContext;
19class Vec3;
20class WeakEntityRef;
23namespace mce::framebuilder { struct ShadowParameters; }
24// clang-format on
25
27public:
28 // LevelRendererShadowCamera inner types define
29 enum class QueueShadowRenders : int {
30 DoNotQueue = 0,
31 ShouldQueue = 1,
32 };
33
34public:
35 // member variables
36 // NOLINTBEGIN
37 ::ll::UntypedStorage<8, 248> mUnk67b8c9;
38 ::ll::UntypedStorage<4, 12> mUnk50eba9;
39 ::ll::UntypedStorage<4, 12> mUnk99f048;
40 ::ll::UntypedStorage<4, 4> mUnk5968ec;
41 ::ll::UntypedStorage<4, 4> mUnka02294;
42 ::ll::UntypedStorage<8, 24> mUnkfc1203;
43 ::ll::UntypedStorage<8, 8> mUnk86c499;
44 ::ll::UntypedStorage<8, 8> mUnk489cc3;
45 // NOLINTEND
46
47public:
48 // prevent constructor by default
49 LevelRendererShadowCamera& operator=(LevelRendererShadowCamera const&);
50 LevelRendererShadowCamera(LevelRendererShadowCamera const&);
51 LevelRendererShadowCamera();
52
53public:
54 // virtual functions
55 // NOLINTBEGIN
56 virtual void recalculateRenderDistance(float const renderDistanceScalar) /*override*/;
57
58 virtual void preRenderUpdate(
59 ::ScreenContext& screenContext,
60 ::LevelRenderPreRenderUpdateParameters& levelRenderPreRenderUpdateParameters
61 ) /*override*/;
62
63 virtual void renderBlockEntities(::BaseActorRenderContext& renderContext, bool renderAlphaLayer) /*override*/;
64
65 virtual void queueRenderEntities(
66 ::LevelRenderPreRenderUpdateParameters const& levelRenderPreRenderUpdateParameters
67 ) /*override*/;
68
69 virtual void setupViewArea() /*override*/;
70
71 virtual void
72 setViewArea(::LevelRenderPreRenderUpdateParameters const& levelRenderPreRenderUpdateParameters) /*override*/;
73
74 virtual void
75 updateViewArea(::LevelRenderPreRenderUpdateParameters const& levelRenderPreRenderUpdateParameters) /*override*/;
76
77 virtual void onDimensionChanged(::Player& player) /*override*/;
78
79 virtual void addCameraListenerToRenderChunkCoordinator() /*override*/;
80
81 virtual void updateLevelCullerType(::LevelCullerType const newLevelCullerType) /*override*/;
82
83 virtual ~LevelRendererShadowCamera() /*override*/ = default;
84 // NOLINTEND
85
86public:
87 // member functions
88 // NOLINTBEGIN
90 ::IClientInstance& clientInstance,
91 ::std::shared_ptr<::Options>,
92 ::Level& level,
93 ::LevelRenderer& levelRenderer,
95 );
96
97 MCNAPI float _calculateCascades(
98 ::mce::framebuilder::ShadowParameters const& shadowParameters,
99 ::glm::mat4x4 const& playerView,
100 float angle,
101 float perpendicularAngle,
102 float aspect,
103 float fov,
104 float zNear,
105 float zFar,
106 float zRange,
107 ::glm::vec3 const& playerPosition,
108 ::gsl::span<::ShadowRenderingParameters::ShadowMap> resultCascades,
109 ::ShadowCascadeState& shadowCascadeState
110 );
111
113 ::mce::framebuilder::ShadowParameters const& shadowParameters,
114 ::Vec3 const& lightSourceDir
115 );
116
118 ::gsl::span<::ShadowRenderingParameters::ShadowMap> cascades,
119 ::glm::vec3 const& playerPosition,
120 ::ShadowRenderingParameters::ShadowMap const& largestCascade
121 );
122
124
125 MCNAPI void setupCamera(
126 ::glm::vec3 const& direction,
127 float angle,
128 float perpendicularAngle,
129 float fov,
130 float aspectRatio,
131 ::glm::mat4x4 const& playerView,
132 ::glm::mat4x4 const& playerProj,
133 ::glm::vec3 const& playerPosition,
134 ::mce::framebuilder::ShadowParameters const& shadowParameters,
135 ::ShadowCascadeState& shadowCascadeState,
136 ::LevelRendererShadowCamera::QueueShadowRenders shouldQueueShadowRenders
137 );
138
139 MCNAPI void setupCloudCamera(
140 float angle,
141 float perpendicularAngle,
142 ::glm::mat4x4 const& playerView,
143 ::glm::mat4x4 const& playerProj,
144 ::glm::vec3 const& playerPosition,
145 ::mce::framebuilder::ShadowParameters const& shadowParameters,
146 ::ShadowCascadeState& shadowCascadeState
147 );
148 // NOLINTEND
149
150public:
151 // constructor thunks
152 // NOLINTBEGIN
153 MCNAPI void* $ctor(
154 ::IClientInstance& clientInstance,
155 ::std::shared_ptr<::Options>,
156 ::Level& level,
157 ::LevelRenderer& levelRenderer,
159 );
160 // NOLINTEND
161
162public:
163 // virtual function thunks
164 // NOLINTBEGIN
165 MCNAPI void $recalculateRenderDistance(float const renderDistanceScalar);
166
167 MCNAPI void $preRenderUpdate(
168 ::ScreenContext& screenContext,
169 ::LevelRenderPreRenderUpdateParameters& levelRenderPreRenderUpdateParameters
170 );
171
172 MCNAPI void $renderBlockEntities(::BaseActorRenderContext& renderContext, bool renderAlphaLayer);
173
174 MCNAPI void
175 $queueRenderEntities(::LevelRenderPreRenderUpdateParameters const& levelRenderPreRenderUpdateParameters);
176
177 MCNAPI void $setupViewArea();
178
179 MCNAPI void $setViewArea(::LevelRenderPreRenderUpdateParameters const& levelRenderPreRenderUpdateParameters);
180
181 MCNAPI void $updateViewArea(::LevelRenderPreRenderUpdateParameters const& levelRenderPreRenderUpdateParameters);
182
183 MCNAPI void $onDimensionChanged(::Player& player);
184
186
187 MCNAPI void $updateLevelCullerType(::LevelCullerType const newLevelCullerType);
188 // NOLINTEND
189
190public:
191 // vftables
192 // NOLINTBEGIN
193 MCNAPI static void** $vftableForLevelListener();
194
195 MCNAPI static void** $vftableForLevelRendererCamera();
196
197 MCNAPI static void** $vftableForPlayerListener();
198 // NOLINTEND
199};
Definition BaseActorRenderContext.h:34
Definition IClientInstance.h:5
Definition LevelRendererCameraListeners.h:5
Definition LevelRendererShadowCamera.h:5
static MCAPI void ** $vftableForLevelListener()
MCAPI void $queueRenderEntities(::LevelRenderPreRenderUpdateParameters const &levelRenderPreRenderUpdateParameters)
static MCAPI void ** $vftableForLevelRendererCamera()
MCAPI void setupCloudCamera(float angle, float perpendicularAngle, ::glm::mat4x4 const &playerView, ::glm::mat4x4 const &playerProj, ::glm::vec3 const &playerPosition, ::mce::framebuilder::ShadowParameters const &shadowParameters, ::ShadowCascadeState &shadowCascadeState)
MCAPI void removeCameraListenerToRenderChunkCoordinator()
MCAPI void setupCamera(::glm::vec3 const &direction, float angle, float perpendicularAngle, float fov, float aspectRatio, ::glm::mat4x4 const &playerView, ::glm::mat4x4 const &playerProj, ::glm::vec3 const &playerPosition, ::mce::framebuilder::ShadowParameters const &shadowParameters, ::ShadowCascadeState &shadowCascadeState, ::LevelRendererShadowCamera::QueueShadowRenders shouldQueueShadowRenders)
MCAPI void $addCameraListenerToRenderChunkCoordinator()
MCAPI void $renderBlockEntities(::BaseActorRenderContext &renderContext, bool renderAlphaLayer)
MCAPI void $recalculateRenderDistance(float const renderDistanceScalar)
MCAPI void _calculatePlayerShadowMap(::mce::framebuilder::ShadowParameters const &shadowParameters, ::Vec3 const &lightSourceDir)
MCAPI void $setViewArea(::LevelRenderPreRenderUpdateParameters const &levelRenderPreRenderUpdateParameters)
MCAPI void $updateViewArea(::LevelRenderPreRenderUpdateParameters const &levelRenderPreRenderUpdateParameters)
MCAPI void * $ctor(::IClientInstance &clientInstance, ::std::shared_ptr<::Options >, ::Level &level, ::LevelRenderer &levelRenderer, ::WeakEntityRef)
MCAPI void _createFrustumCuller(::gsl::span<::ShadowRenderingParameters::ShadowMap > cascades, ::glm::vec3 const &playerPosition, ::ShadowRenderingParameters::ShadowMap const &largestCascade)
MCAPI void $updateLevelCullerType(::LevelCullerType const newLevelCullerType)
MCAPI LevelRendererShadowCamera(::IClientInstance &clientInstance, ::std::shared_ptr<::Options >, ::Level &level, ::LevelRenderer &levelRenderer, ::WeakEntityRef)
MCAPI void $preRenderUpdate(::ScreenContext &screenContext, ::LevelRenderPreRenderUpdateParameters &levelRenderPreRenderUpdateParameters)
static MCAPI void ** $vftableForPlayerListener()
MCAPI void $onDimensionChanged(::Player &player)
MCAPI float _calculateCascades(::mce::framebuilder::ShadowParameters const &shadowParameters, ::glm::mat4x4 const &playerView, float angle, float perpendicularAngle, float aspect, float fov, float zNear, float zFar, float zRange, ::glm::vec3 const &playerPosition, ::gsl::span<::ShadowRenderingParameters::ShadowMap > resultCascades, ::ShadowCascadeState &shadowCascadeState)
Definition LevelRenderer.h:5
Definition Level.h:249
Definition Options.h:5
Definition Player.h:125
Definition ScreenContext.h:5
Definition Vec3.h:10
Definition WeakEntityRef.h:14
Definition LevelRenderPreRenderUpdateParameters.h:5
Definition ShadowCascadeState.h:5
Definition ShadowRenderingParameters.h:13
Definition ShadowParameters.h:7