Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
ActorRenderDispatcher.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/common/SubClientId.h"
7#include "mc/deps/core/string/HashedString.h"
8#include "mc/deps/core/utility/NonOwnerPointer.h"
9
10// auto generated forward declare list
11// clang-format off
12class Actor;
13class ActorRenderer;
19class Font;
20class GeometryGroup;
23class Tessellator;
24class Vec2;
25class Vec3;
27namespace mce { class Color; }
28namespace mce { class TextureGroup; }
29// clang-format on
30
32public:
33 // member variables
34 // NOLINTBEGIN
35 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, ::std::shared_ptr<::ActorRenderer>>>
36 mNonDataDrivenRenderers;
37 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, ::std::shared_ptr<::DataDrivenRenderer>>>
38 mDataDrivenRenderers;
39 ::ll::TypedStorage<
40 8,
41 24,
42 ::std::vector<::std::function<void(
43 ::Bedrock::NotNullNonOwnerPtr<::ActorResourceDefinitionGroup> const&,
44 ::std::shared_ptr<::mce::TextureGroup>
45 )>>>
46 mGameSpecificRegistrationCallbacks;
47 ::ll::TypedStorage<1, 1, ::SubClientId> mClientSubId;
48 ::ll::TypedStorage<8, 8, int64 const> mResourceLoadTimeStamp;
49 // NOLINTEND
50
51public:
52 // virtual functions
53 // NOLINTBEGIN
54 virtual ~ActorRenderDispatcher() = default;
55 // NOLINTEND
56
57public:
58 // member functions
59 // NOLINTBEGIN
60 MCAPI ::std::shared_ptr<::ActorRenderer> _getRenderer(::Actor& actor) const;
61
63
64 MCNAPI void clearEntityRenderers();
65
66 MCAPI ::std::vector<::NameTagRenderObject> extractRenderTextObjects(
67 ::Font& font,
68 ::Tessellator& tessellator,
69 ::Actor& actor,
70 ::std::string const& str,
71 ::Vec3 camTargetPos,
72 float a,
73 ::mce::Color color
74 );
75
76 MCAPI ::std::shared_ptr<::DataDrivenRenderer> getDataDrivenRenderer(::HashedString const& rendererName) const;
77
78 MCAPI ::std::shared_ptr<::ActorRenderer> getRenderer(::HashedString const& rendererName) const;
79
81 ::Bedrock::NotNullNonOwnerPtr<::GeometryGroup> const& geometryGroup,
82 ::std::shared_ptr<::mce::TextureGroup> textureGroup,
83 ::BlockTessellator& commonBlockRenderer,
84 ::Bedrock::NotNullNonOwnerPtr<::ActorResourceDefinitionGroup> const& entityResourceDefGroup,
85 ::ResourcePackManager& resourcePackManager,
86 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager,
87 bool supportsNewVertexFormat
88 );
89
91 ::std::shared_ptr<::ActorResourceDefinition> resources,
92 ::std::shared_ptr<::mce::TextureGroup> textureGroup
93 );
94
95 MCAPI void render(::BaseActorRenderContext& entityRenderContext, ::Actor& entity, bool ignoreLighting);
96
97 MCAPI void render(
98 ::BaseActorRenderContext& entityRenderContext,
99 ::Actor& entity,
100 ::Vec3 const& cameraTargetPos,
101 ::Vec3 const& pos,
102 ::Vec2 const& rot,
103 bool ignoreLighting
104 );
105
106 MCNAPI void renderEffects(::BaseActorRenderContext& actorRenderContext, ::Actor& actor);
107
108 MCNAPI void
109 renderWaterHole(::BaseActorRenderContext& actorRenderContext, ::Actor& actor, ::Vec3 const& cameraTargetPos);
110 // NOLINTEND
111
112public:
113 // vftables
114 // NOLINTBEGIN
115 MCNAPI static void** $vftable();
116 // NOLINTEND
117};
Definition ActorRenderDispatcher.h:5
MCAPI void renderWaterHole(::BaseActorRenderContext &actorRenderContext, ::Actor &actor, ::Vec3 const &cameraTargetPos)
MCAPI void initializeEntityRenderers(::Bedrock::NotNullNonOwnerPtr<::GeometryGroup > const &geometryGroup, ::std::shared_ptr<::mce::TextureGroup > textureGroup, ::BlockTessellator &commonBlockRenderer, ::Bedrock::NotNullNonOwnerPtr<::ActorResourceDefinitionGroup > const &entityResourceDefGroup, ::ResourcePackManager &resourcePackManager, ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager > resourceLoadManager, bool supportsNewVertexFormat)
MCAPI bool initializeIndependentRenderer(::std::shared_ptr<::ActorResourceDefinition > resources, ::std::shared_ptr<::mce::TextureGroup > textureGroup)
MCAPI void clearEntityRenderers()
MCAPI void cleanupIndependentRenderer(::HashedString const &name)
static MCAPI void ** $vftable()
MCAPI void renderEffects(::BaseActorRenderContext &actorRenderContext, ::Actor &actor)
Definition ActorRenderer.h:5
Definition ActorResourceDefinitionGroup.h:5
Definition ActorResourceDefinition.h:5
Definition Actor.h:116
Definition BaseActorRenderContext.h:5
Definition BlockTessellator.h:5
Definition DataDrivenRenderer.h:5
Definition Font.h:5
Definition GeometryGroup.h:5
Definition HashedString.h:5
Definition ResourceLoadManager.h:22
Definition ResourcePackManager.h:29
Definition Tessellator.h:5
Definition Vec2.h:5
Definition Vec3.h:10
Definition Color.h:13
Definition TextureGroup.h:7
Definition NameTagRenderObject.h:5