LeviLamina
Loading...
Searching...
No Matches
BaseActorRenderContext.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/renderer/HistoricalFrameTimes.h"
7#include "mc/deps/core/math/Vec3.h"
8#include "mc/deps/core/utility/NonOwnerPointer.h"
9#include "mc/deps/minecraft_renderer/resources/UIActorOffscreenCaptureDescription.h"
10#include "mc/deps/minecraft_renderer/resources/UIMeshOffscreenCaptureDescription.h"
11#include "mc/deps/minecraft_renderer/resources/UIStructureVolumeOffscreenCaptureDescription.h"
12#include "mc/deps/minecraft_renderer/resources/UIThumbnailMeshOffscreenCaptureDescription.h"
13#include "mc/world/phys/AABB.h"
14
15// auto generated forward declare list
16// clang-format off
17class Actor;
20class BlockActor;
23class FontHandle;
24class HashedString;
26class IClientInstance;
27class IMinecraftGame;
28class IOptionRegistry;
30class ItemRenderer;
31class LightTexture;
32class MatrixStack;
34class ScreenContext;
36class Tessellator;
37class Vec2;
40namespace LightPropagation { class LightVolumeManager; }
41namespace mce { class TextureGroup; }
42// clang-format on
43
45public:
46 // member variables
47 // NOLINTBEGIN
48 ::ll::TypedStorage<4, 4, float> mNumEntitiesRenderedThisFrame;
49 ::ll::TypedStorage<4, 4, float> mLastFrameTime;
50 ::ll::TypedStorage<8, 8, ::SortedMeshDrawList*> mSortedMeshDrawList;
51 ::ll::TypedStorage<8, 8, ::IClientInstance&> mClientInstance;
52 ::ll::TypedStorage<8, 8, ::IMinecraftGame&> mMinecraftGame;
53 ::ll::TypedStorage<8, 8, ::ScreenContext&> mScreenContext;
54 ::ll::TypedStorage<8, 8, ::BlockActorRenderDispatcher&> mBlockEntityRenderDispatcher;
55 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ActorRenderDispatcher>> mEntityRenderDispatcher;
56 ::ll::TypedStorage<8, 8, ::ActorBlockRenderer&> mEntityBlockRenderer;
57 ::ll::TypedStorage<8, 8, ::ItemInHandRenderer&> mItemInHandRenderer;
58 ::ll::TypedStorage<8, 8, ::ItemRenderer&> mItemRenderer;
59 ::ll::TypedStorage<8, 8, ::HudIconActorRenderer&> mHudIconActorRenderer;
60 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::LightPropagation::LightVolumeManager>> mLightVolumeManager;
61 ::ll::TypedStorage<8, 8, ::ParticleSystemEngine*> mParticleSystemEngine;
62 ::ll::TypedStorage<8, 8, ::ProcessedDataDrivenRenderers const*> mProcessedV2DataDrivenRenderers;
63 ::ll::TypedStorage<8, 8, ::DataDrivenRendererContinuousData*> mV2DataDrivenContinuousData;
64 ::ll::TypedStorage<1, 1, bool> mV2ShouldRenderActorsWithAttachables;
65 ::ll::TypedStorage<8, 16, ::std::optional<int64>> mRenderUniqueIdOverride;
66 ::ll::TypedStorage<
67 8,
68 48,
69 ::std::variant<
70 ::std::monostate,
71 ::UIActorOffscreenCaptureDescription,
72 ::UIThumbnailMeshOffscreenCaptureDescription,
73 ::UIMeshOffscreenCaptureDescription,
74 ::UIStructureVolumeOffscreenCaptureDescription>>
75 mOffscreenCaptureDescription;
76 ::ll::TypedStorage<4, 12, ::Vec3> mCameraTargetPosition;
77 ::ll::TypedStorage<4, 12, ::Vec3> mCameraPosition;
78 ::ll::TypedStorage<4, 24, ::AABB> mWorldClipRegion;
79 ::ll::TypedStorage<4, 4, float const> mFrameAlpha;
80 ::ll::TypedStorage<4, 4, float> mActorDitheringMaxDistance;
81 ::ll::TypedStorage<1, 1, bool> mIsOnScreen;
82 ::ll::TypedStorage<1, 1, bool> mUpdateBonesAndEffects;
83 ::ll::TypedStorage<1, 1, bool> mUpdateEffects;
84 ::ll::TypedStorage<1, 1, bool> mIgnoresLighting;
85 ::ll::TypedStorage<1, 1, bool> mForceLightingOn;
86 ::ll::TypedStorage<1, 1, bool> mIsRenderingOnMap;
87 ::ll::TypedStorage<8, 488, ::HistoricalFrameTimes> mHistoricalFrameTimes;
88 // NOLINTEND
89
90public:
91 // prevent constructor by default
92 BaseActorRenderContext& operator=(BaseActorRenderContext const&);
93 BaseActorRenderContext();
94
95public:
96 // virtual functions
97 // NOLINTBEGIN
98 virtual ~BaseActorRenderContext();
99 // NOLINTEND
100
101public:
102 // member functions
103 // NOLINTBEGIN
104 MCAPI BaseActorRenderContext(::BaseActorRenderContext const&);
105
106 MCAPI BaseActorRenderContext(
107 ::ScreenContext& screenContext,
108 ::IClientInstance& clientInstance,
109 ::IMinecraftGame& minecraftGame
110 );
111
112 MCAPI float getActorDitheringMaxDistance() const;
113
114 MCFOLD ::BlockActorRenderDispatcher& getBlockEntityRenderDispatcher();
115
116 MCAPI ::Actor* getCameraActor();
117
118 MCAPI ::Vec3 const& getCameraPosition() const;
119
120 MCAPI ::Vec2 getCameraRotation(float a) const;
121
122 MCFOLD ::Vec3 const& getCameraTargetPosition() const;
123
124 MCFOLD ::IClientInstance const& getClient() const;
125
126 MCFOLD ::IClientInstance& getClient();
127
128 MCAPI ::std::shared_ptr<::DataDrivenRenderer> getDataDrivenRenderer(::HashedString const& rendererName) const;
129
130 MCFOLD ::ActorBlockRenderer& getEntityBlockRenderer();
131
132 MCFOLD ::std::shared_ptr<::ActorRenderDispatcher> getEntityRenderDispatcher();
133
134 MCAPI ::Bedrock::NotNullNonOwnerPtr<::FontHandle const> getFontHandle();
135
136 MCAPI float getFrameAlpha(::Actor const& actor) const;
137
138 MCAPI float getFrameAlpha(::Actor const* actor) const;
139
140 MCAPI float getFrameAlpha(::BlockActor const& blockActor) const;
141
142 MCFOLD ::HudIconActorRenderer& getHudIconActorRenderer();
143
144 MCFOLD ::ItemInHandRenderer& getItemInHandRenderer();
145
146 MCFOLD ::ItemRenderer& getItemRenderer();
147
148 MCAPI ::LightTexture* getLightTexture() const;
149
150 MCAPI ::std::weak_ptr<::LightPropagation::LightVolumeManager> getLightVolumeManager() const;
151
152 MCAPI ::IOptionRegistry& getOptions();
153
154 MCFOLD ::ParticleSystemEngine* getParticleSystemEngine();
155
156 MCAPI ::MatrixStack& getProjectionMatrix();
157
158 MCAPI ::std::optional<int64> getRenderUniqueIdOverride() const;
159
160 MCFOLD ::ScreenContext& getScreenContext() const;
161
162 MCAPI ::Tessellator& getTessellator();
163
164 MCAPI ::std::shared_ptr<::mce::TextureGroup> getTextureGroup();
165
166 MCFOLD ::DataDrivenRendererContinuousData* getV2ContinuousData();
167
168 MCFOLD ::ProcessedDataDrivenRenderers const* getV2ProcessedDataDrivenRenderers() const;
169
170 MCFOLD bool getV2ShouldRenderActorsWithAttachables() const;
171
172 MCAPI ::MatrixStack& getViewMatrix();
173
174 MCAPI ::MatrixStack& getWorldMatrix();
175
176 MCAPI bool isDeferredUpscaling() const;
177
178 MCAPI bool isForceLightingOn() const;
179
180 MCAPI bool isIgnoringLighting() const;
181
182 MCAPI bool isLightingOff() const;
183
184 MCAPI bool isRenderingOnMap() const;
185
186 MCAPI bool isSimple();
187
188 MCAPI ::BaseActorRenderContext overrideScreenContext(::ScreenContext& screenContext) const;
189
190 MCAPI void setActorDitheringMaxDistance(float maxDitheringDistance);
191
192 MCAPI void setCameraPosition(::Vec3 const& value);
193
194 MCFOLD void setCameraTargetPosition(::Vec3 const& value);
195
196 MCAPI void setForceLightingOn(bool state);
197
198 MCAPI void setIgnoreLighting(bool state);
199
200 MCAPI void setIsOnScreen(bool);
201
202 MCAPI void setRenderUniqueIdOverride(int64 uniqueId);
203
204 MCFOLD void setRenderUniqueIdOverride(::std::optional<int64> uniqueId);
205
206 MCAPI void setRenderingOnMap(bool state);
207
208 MCAPI void setUpdateBonesAndEffects(bool shouldUpdateBonesAndEffects);
209
210 MCAPI void setUpdateEffects(bool shouldUpdateEffects);
211
212 MCAPI void setWorldClipRegion(::AABB const& region);
213
214 MCAPI bool shouldUpdateBonesAndEffects() const;
215
216 MCAPI bool shouldUpdateEffects() const;
217 // NOLINTEND
218
219public:
220 // constructor thunks
221 // NOLINTBEGIN
222 MCAPI void* $ctor(::BaseActorRenderContext const&);
223
224 MCAPI void*
225 $ctor(::ScreenContext& screenContext, ::IClientInstance& clientInstance, ::IMinecraftGame& minecraftGame);
226 // NOLINTEND
227
228public:
229 // destructor thunk
230 // NOLINTBEGIN
231 MCAPI void $dtor();
232 // NOLINTEND
233
234public:
235 // vftables
236 // NOLINTBEGIN
237 MCNAPI static void** $vftable();
238 // NOLINTEND
239};
Definition ActorBlockRenderer.h:5
Definition ActorRenderDispatcher.h:5
Definition Actor.h:123
Definition BaseActorRenderContext.h:5
static MCAPI void ** $vftable()
Definition BlockActorRenderDispatcher.h:5
Definition BlockActor.h:30
Definition DataDrivenRenderer.h:5
Definition FontHandle.h:5
Definition HashedString.h:5
Definition HudIconActorRenderer.h:5
Definition IClientInstance.h:5
Definition IMinecraftGame.h:5
Definition IOptionRegistry.h:5
Definition ItemInHandRenderer.h:5
Definition ItemRenderer.h:5
Definition LightVolumeManager.h:7
Definition LightTexture.h:5
Definition MatrixStack.h:5
Definition ParticleSystemEngine.h:5
Definition ScreenContext.h:5
Definition SortedMeshDrawList.h:5
Definition Tessellator.h:5
Definition Vec2.h:5
Definition TextureGroup.h:7
Definition DataDrivenRendererContinuousData.h:5
Definition ProcessedDataDrivenRenderers.h:5