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