LeviLamina
Loading...
Searching...
No Matches
SkinnedMesh.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/minecraft_renderer/game/ShadowContext.h"
7#include "mc/deps/minecraft_renderer/renderer/Mesh.h"
8
9// auto generated forward declare list
10// clang-format off
14class ModelPart;
16class ScreenContext;
18struct MERSUniformData;
19namespace dragon { struct RenderMetadata; }
20// clang-format on
21
22class SkinnedMesh {
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<1, 1, bool> mShouldDrawThisFrame;
27 ::ll::TypedStorage<8, 24, ::std::vector<::ModelPart*>> mSkinnedParts;
28 ::ll::TypedStorage<8, 552, ::mce::Mesh> mSkinnedMeshQuads;
29 ::ll::TypedStorage<8, 552, ::mce::Mesh> mSkinnedMeshTris;
30 ::ll::TypedStorage<8, 24, ::std::vector<::glm::mat4x4>> mBoneMatrices;
31 ::ll::TypedStorage<8, 24, ::std::vector<::glm::mat4x4>> mPreviousBoneMatrices;
32 ::ll::TypedStorage<4, 24, ::std::pair<::glm::vec3, ::glm::vec3>> mBounds;
33 ::ll::TypedStorage<4, 4, int> mVertexCount;
34 ::ll::TypedStorage<4, 4, int> mTotalVertices;
35 ::ll::TypedStorage<1, 1, bool> mUseBones;
36 // NOLINTEND
37
38public:
39 // prevent constructor by default
40 SkinnedMesh& operator=(SkinnedMesh const&);
41 SkinnedMesh(SkinnedMesh const&);
42
43public:
44 // member functions
45 // NOLINTBEGIN
46 MCAPI SkinnedMesh();
47
48 MCAPI void constructMesh(::ScreenContext& screenContext);
49
50 MCAPI void
51 constructMesh(::BaseActorRenderContext& baseActorRenderContext, ::MaterialVariants const& defaultMaterialVariants);
52
53 MCAPI void draw(
54 ::ScreenContext& screenContext,
55 ::dragon::RenderMetadata const& renderMetadata,
56 ::RenderController const* renderController,
57 uint subRenderLayerIndex,
58 ::MaterialVariants const& materialVariants,
59 ::ClientPBRTextureData const& textureData,
60 ::SortedMeshDrawList* sortedMeshDrawList,
61 ::std::optional<::glm::mat4x4> const& previousActorTransform,
62 ::std::optional<::MERSUniformData> const& mersUniforms,
63 ::ShadowContext shadowContext,
64 bool isDitheringEnabled
65 );
66
67 MCAPI ::mce::Mesh const& getMesh() const;
68
69 MCAPI ::SkinnedMesh& operator=(::SkinnedMesh&&);
70
71 MCAPI void registerPart(::ModelPart& part, int groupIndex, int meshIndex);
72
73 MCAPI void setMesh(::mce::Mesh&& mesh);
74
75 MCAPI ~SkinnedMesh();
76 // NOLINTEND
77
78public:
79 // constructor thunks
80 // NOLINTBEGIN
81 MCAPI void* $ctor();
82 // NOLINTEND
83
84public:
85 // destructor thunk
86 // NOLINTBEGIN
87 MCAPI void $dtor();
88 // NOLINTEND
89};
Definition BaseActorRenderContext.h:5
Definition ClientPBRTextureData.h:5
Definition MaterialVariants.h:8
Definition ModelPart.h:5
Definition RenderController.h:5
Definition ScreenContext.h:5
Definition SkinnedMesh.h:5
Definition SortedMeshDrawList.h:5
Definition MERSUniformData.h:5
Definition RenderMetadata.h:7