Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
SkinnedMeshGroup.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/renderer/controller/RenderController.h"
7
8// auto generated forward declare list
9// clang-format off
11class ExpressionNode;
13class Matrix;
14class ModelPart;
15class RenderParams;
16class ScreenContext;
17class SkinnedMesh;
18struct MERSUniformData;
19namespace dragon { struct RenderMetadata; }
20// clang-format on
21
22class SkinnedMeshGroup {
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<8, 64, ::std::unordered_map<::RenderController const*, ::ExpressionNode>> mMaterialExpressionMap;
27 ::ll::TypedStorage<1, 1, bool> mShouldDrawThisFrame;
28 ::ll::TypedStorage<1, 1, bool> mIsUniqueGroup;
29 ::ll::TypedStorage<4, 4, int> mSkinnedMeshGroupIdentifier;
30 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::SkinnedMesh>>> mSkinnedMeshes;
31 // NOLINTEND
32
33public:
34 // prevent constructor by default
35 SkinnedMeshGroup();
36
37public:
38 // member functions
39 // NOLINTBEGIN
41 ::ModelPart& modelPart,
42 int skinnedMeshGroupIdentifier,
43 bool isUniqueGroup,
44 uint64 skinnedMeshGroupIndex
45 );
46
48 int meshIndex,
49 int partIndex,
50 bool isVisible,
51 ::Matrix const& matrix,
52 int vertexCount,
53 ::std::optional<::std::reference_wrapper<::Matrix const>> previousMatrix
54 );
55
56 MCNAPI void dataDrivenDraw(
57 ::RenderParams& renderParams,
58 ::dragon::RenderMetadata const& renderMetadata,
59 ::gsl::not_null<::RenderController const*> renderController,
60 ::ClientPBRTextureData const& textureData,
61 ::std::optional<::MERSUniformData> const& mersUniforms
62 );
63
64 MCAPI void draw(
65 ::ScreenContext& screenContext,
66 ::dragon::RenderMetadata const& renderMetadata,
67 ::MaterialVariants const& modelMaterialVariants,
68 ::ClientPBRTextureData const& textureData,
69 ::std::optional<::MERSUniformData> const& mersUniforms
70 );
71
72 MCNAPI void registerPart(::ModelPart& part, int groupIndex);
73
75 // NOLINTEND
76
77public:
78 // constructor thunks
79 // NOLINTBEGIN
80 MCNAPI void*
81 $ctor(::ModelPart& modelPart, int skinnedMeshGroupIdentifier, bool isUniqueGroup, uint64 skinnedMeshGroupIndex);
82 // NOLINTEND
83
84public:
85 // destructor thunk
86 // NOLINTBEGIN
87 MCNAPI void $dtor();
88 // NOLINTEND
89};
Definition ClientPBRTextureData.h:5
Definition ExpressionNode.h:35
Definition MaterialVariants.h:8
Definition Matrix.h:10
Definition ModelPart.h:5
Definition RenderParams.h:29
Definition ScreenContext.h:5
Definition SkinnedMeshGroup.h:5
MCAPI void $dtor()
MCAPI ~SkinnedMeshGroup()
MCAPI void * $ctor(::ModelPart &modelPart, int skinnedMeshGroupIdentifier, bool isUniqueGroup, uint64 skinnedMeshGroupIndex)
MCAPI void dataDrivenDraw(::RenderParams &renderParams, ::dragon::RenderMetadata const &renderMetadata, ::gsl::not_null<::RenderController const * > renderController, ::ClientPBRTextureData const &textureData, ::std::optional<::MERSUniformData > const &mersUniforms)
MCAPI void registerPart(::ModelPart &part, int groupIndex)
MCAPI SkinnedMeshGroup(::ModelPart &modelPart, int skinnedMeshGroupIdentifier, bool isUniqueGroup, uint64 skinnedMeshGroupIndex)
MCAPI void copyBoneMatrixToSkinnedMesh(int meshIndex, int partIndex, bool isVisible, ::Matrix const &matrix, int vertexCount, ::std::optional<::std::reference_wrapper<::Matrix const > > previousMatrix)
Definition SkinnedMesh.h:5
Definition MERSUniformData.h:5
Definition RenderMetadata.h:7