LeviLamina
Loading...
Searching...
No Matches
SkinnedMeshGroup.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
9class Matrix;
10class ModelPart;
12class RenderParams;
13struct MERSUniformData;
14namespace dragon { struct RenderMetadata; }
16class ScreenContext;
17// clang-format on
18
19class SkinnedMeshGroup {
20public:
21 // member variables
22 // NOLINTBEGIN
28 // NOLINTEND
29
30public:
31 // prevent constructor by default
32 SkinnedMeshGroup& operator=(SkinnedMeshGroup const&);
33 SkinnedMeshGroup(SkinnedMeshGroup const&);
34 SkinnedMeshGroup();
35
36public:
37 // member functions
38 // NOLINTBEGIN
39 MCNAPI_C ::MaterialVariants const&
40 _evalMaterialVarants(::RenderParams& renderParams, ::RenderController const* renderController);
41
42 MCNAPI_C bool _isVisibilityExpressionMapEqual(::ModelPart const& modelPart) const;
43
44 MCNAPI_C void constructMesh(::ScreenContext& screenContext);
45
46 MCNAPI_C void copyBoneMatrixToSkinnedMesh(
47 int meshIndex,
48 int partIndex,
49 bool isVisible,
50 ::Matrix const& matrix,
51 int vertexCount,
52 ::std::optional<::glm::mat4x4> previousMatrix
53 );
54
55 MCNAPI_C void draw(
56 ::ScreenContext& screenContext,
57 ::dragon::RenderMetadata const& renderMetadata,
58 ::MaterialVariants const& modelMaterialVariants,
59 ::ClientPBRTextureData const& textureData,
60 ::std::optional<::MERSUniformData> const& mersUniforms
61 );
62
63 MCNAPI_C bool
64 isMaterialExpressionMapEqual(::std::unordered_map<::RenderController const*, ::ExpressionNode> const& rhs) const;
65
66 MCNAPI_C void registerPart(::ModelPart& part, int groupIndex);
67
68 MCNAPI_C void
69 setMaterialExpression(::RenderController const* renderControllerId, ::ExpressionNode const& expression);
70 // NOLINTEND
71
72public:
73 // constructor thunks
74 // NOLINTBEGIN
75 MCNAPI_C void* $ctor(::SkinnedMeshGroup const&);
76
77 MCNAPI_C void*
78 $ctor(::ModelPart& modelPart, int skinnedMeshGroupIdentifier, bool isUniqueGroup, uint64 skinnedMeshGroupIndex);
79 // NOLINTEND
80};
Definition ClientPBRTextureData.h:5
Definition ExpressionNode.h:33
Definition MaterialVariants.h:8
Definition Matrix.h:5
Definition ModelPart.h:29
Definition RenderController.h:20
Definition RenderParams.h:30
Definition ScreenContext.h:5
Definition MERSUniformData.h:5
Definition RenderMetadata.h:7
Definition Alias.h:14