3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/common/SubClientId.h"
7#include "mc/deps/core/string/HashedString.h"
8#include "mc/deps/core/utility/NonOwnerPointer.h"
27namespace mce {
class Color; }
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>>>
42 ::std::vector<::std::function<void(
43 ::Bedrock::NotNullNonOwnerPtr<::ActorResourceDefinitionGroup>
const&,
44 ::std::shared_ptr<::mce::TextureGroup>
46 mGameSpecificRegistrationCallbacks;
47 ::ll::TypedStorage<1, 1, ::SubClientId> mClientSubId;
48 ::ll::TypedStorage<8, 8, int64 const> mResourceLoadTimeStamp;
53 ActorRenderDispatcher();
58 virtual ~ActorRenderDispatcher();
64 MCAPI
explicit ActorRenderDispatcher(::SubClientId clientId);
66 MCAPI ::std::shared_ptr<::ActorRenderer> _getRenderer(::Actor& actor)
const;
68 MCAPI
void cleanupRenderer(::HashedString
const& name);
70 MCAPI
void clearEntityRenderers();
72 MCAPI ::std::vector<::NameTagRenderObject> extractRenderTextObjects(
74 ::Tessellator& tessellator,
76 ::std::string
const& str,
82 MCAPI ::std::shared_ptr<::DataDrivenRenderer> getDataDrivenRenderer(::HashedString
const& rendererName)
const;
84 MCFOLD ::std::unordered_map<::HashedString, ::std::shared_ptr<::DataDrivenRenderer>>& getDataDrivenRenderers();
86 MCAPI ::std::shared_ptr<::ActorRenderer> getRenderer(::Actor
const& actor)
const;
88 MCAPI ::std::shared_ptr<::ActorRenderer> getRenderer(::HashedString
const& rendererName)
const;
90 MCAPI
bool hasWaterHole(::Actor& actor)
const;
92 MCAPI
void initializeEntityRenderers(
93 ::Bedrock::NotNullNonOwnerPtr<::GeometryGroup>
const& geometryGroup,
94 ::std::shared_ptr<::mce::TextureGroup> textureGroup,
95 ::BlockTessellator& commonBlockRenderer,
96 ::Bedrock::NotNullNonOwnerPtr<::ActorResourceDefinitionGroup>
const& entityResourceDefGroup,
97 ::ResourcePackManager& resourcePackManager,
98 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager,
99 bool supportsNewVertexFormat
102 MCAPI
bool initializePlayerRenderer(
103 ::std::shared_ptr<::ActorResourceDefinition> resources,
104 ::std::shared_ptr<::mce::TextureGroup> textureGroup
107 MCAPI
void render(::BaseActorRenderContext& entityRenderContext, ::Actor& entity,
bool ignoreLighting);
110 ::BaseActorRenderContext& entityRenderContext,
118 ::BaseActorRenderContext& entityRenderContext,
120 ::Vec3
const& cameraTargetPos,
126 MCAPI
void renderEffects(::BaseActorRenderContext& actorRenderContext, ::Actor& actor);
129 renderWaterHole(::BaseActorRenderContext& actorRenderContext, ::Actor& actor, ::Vec3
const& cameraTargetPos);
135 MCAPI
void* $ctor(::SubClientId clientId);
Definition ActorRenderDispatcher.h:5
static MCAPI void ** $vftable()
Definition ActorRenderer.h:5
Definition ActorResourceDefinitionGroup.h:5
Definition ActorResourceDefinition.h:5
Definition BaseActorRenderContext.h:5
Definition BlockTessellator.h:5
Definition DataDrivenRenderer.h:5
Definition GeometryGroup.h:5
Definition ResourceLoadManager.h:19
Definition ResourcePackManager.h:35
Definition Tessellator.h:5
Definition TextureGroup.h:7