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, 632, ::mce::Mesh> mSkinnedMeshQuads;
29 ::ll::TypedStorage<8, 632, ::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 // member functions
40 // NOLINTBEGIN
41 MCAPI SkinnedMesh();
42
43 MCAPI void constructMesh(::ScreenContext& screenContext);
44
45 MCAPI void
46 constructMesh(::BaseActorRenderContext& baseActorRenderContext, ::MaterialVariants const& defaultMaterialVariants);
47
48 MCAPI void draw(
49 ::ScreenContext& screenContext,
50 ::dragon::RenderMetadata const& renderMetadata,
51 ::RenderController const* renderController,
52 uint subRenderLayerIndex,
53 ::MaterialVariants const& materialVariants,
54 ::ClientPBRTextureData const& textureData,
55 ::SortedMeshDrawList* sortedMeshDrawList,
56 ::std::optional<::glm::mat4x4> const& previousActorTransform,
57 ::std::optional<::MERSUniformData> const& mersUniforms,
58 ::ShadowContext shadowContext,
59 bool isDitheringEnabled
60 );
61
62 MCAPI ~SkinnedMesh();
63 // NOLINTEND
64
65public:
66 // constructor thunks
67 // NOLINTBEGIN
68 MCAPI void* $ctor();
69 // NOLINTEND
70
71public:
72 // destructor thunk
73 // NOLINTBEGIN
74 MCAPI void $dtor();
75 // NOLINTEND
76};
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