LeviLamina
Loading...
Searching...
No Matches
Mesh.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/debug/brstd/static_vector.h"
7#include "mc/deps/minecraft_renderer/resources/IndexBufferContainer.h"
8#include "mc/deps/renderer/VertexField.h"
9
10// auto generated forward declare list
11// clang-format off
12struct UIActorOffscreenCaptureDescription;
13struct UIMeshOffscreenCaptureDescription;
14struct UIStructureVolumeOffscreenCaptureDescription;
15struct UIThumbnailMeshOffscreenCaptureDescription;
16namespace dragon { struct RenderMetadata; }
17namespace dragon::mesh { class Mesh; }
18namespace mce { class MaterialPtr; }
19namespace mce { class MeshContext; }
20namespace mce { class MeshData; }
21namespace mce { class TexturePtr; }
22namespace mce { struct BufferResourceService; }
23namespace mce { struct ClientTexture; }
24namespace mce { struct ServerTexture; }
25namespace mce { struct VertexLayout; }
26// clang-format on
27
28namespace mce {
29
31public:
32 // member variables
33 // NOLINTBEGIN
45 // NOLINTEND
46
47public:
48 // prevent constructor by default
49 Mesh& operator=(Mesh const&);
50
51public:
52 // member functions
53 // NOLINTBEGIN
54 MCNAPI Mesh();
55
56 MCNAPI Mesh(::mce::Mesh&& c);
57
58 MCNAPI Mesh(::mce::Mesh const& rhs);
59
60 MCNAPI Mesh(
61 ::std::shared_ptr<::mce::BufferResourceService>& bufferResourceService,
62 ::mce::MeshData&& data,
63 bool temporary,
64 ::std::string_view debugName
65 );
66
67 MCNAPI void _freeHALData() const;
68
69 MCNAPI bool _loadRawData(::mce::BufferResourceService& bufferResourceService, ::std::string_view debugName) const;
70
71 MCNAPI void _move(::mce::Mesh& rhs);
72
73 MCNAPI void _renderMesh(
74 ::mce::MeshContext& meshContext,
75 ::mce::MaterialPtr const& materialPtr,
76 ::brstd::static_vector<
77 ::std::variant<::std::monostate, ::mce::TexturePtr, ::mce::ClientTexture, ::mce::ServerTexture>,
78 8> textures,
79 uint startOffset,
80 uint count,
81 ::std::variant<
82 ::std::monostate,
83 ::UIActorOffscreenCaptureDescription,
84 ::UIThumbnailMeshOffscreenCaptureDescription,
85 ::UIMeshOffscreenCaptureDescription,
86 ::UIStructureVolumeOffscreenCaptureDescription> const& offscreenCaptureDescription,
87 ::mce::IndexBufferContainer const* overrideIndexBuffer,
88 ::std::optional<::dragon::RenderMetadata> renderMetadata
89 ) const;
90
91 MCNAPI bool areBuffersValid() const;
92
93 MCNAPI void generateHALData(::mce::VertexLayout const* forcedLayout, bool splitStream) const;
94
95 MCNAPI uint64 getMeshVertexCount() const;
96
97 MCNAPI bool hasField(::mce::VertexField type) const;
98
99 MCNAPI bool isValid() const;
100
101 MCNAPI bool isVertexLayoutValid() const;
102
103 MCNAPI explicit operator ::dragon::mesh::Mesh() const;
104
105 MCNAPI void prepareAsEmptyData(::mce::VertexLayout const& forcedLayout) const;
106
107 MCNAPI void renderMesh(
108 ::mce::MeshContext& meshContext,
109 ::mce::MaterialPtr const& materialPtr,
110 uint startOffset,
111 uint count,
112 ::std::variant<
113 ::std::monostate,
114 ::UIActorOffscreenCaptureDescription,
115 ::UIThumbnailMeshOffscreenCaptureDescription,
116 ::UIMeshOffscreenCaptureDescription,
117 ::UIStructureVolumeOffscreenCaptureDescription> const& offscreenCaptureDescription,
118 ::mce::IndexBufferContainer const* overrideIndexBuffer
119 ) const;
120
121 MCNAPI void renderMesh(
122 ::mce::MeshContext& meshContext,
123 ::mce::MaterialPtr const& materialPtr,
124 ::std::variant<::std::monostate, ::mce::TexturePtr, ::mce::ClientTexture, ::mce::ServerTexture> const& texture,
125 uint startOffset,
126 uint count,
127 ::std::variant<
128 ::std::monostate,
129 ::UIActorOffscreenCaptureDescription,
130 ::UIThumbnailMeshOffscreenCaptureDescription,
131 ::UIMeshOffscreenCaptureDescription,
132 ::UIStructureVolumeOffscreenCaptureDescription> const& offscreenCaptureDescription,
133 ::mce::IndexBufferContainer const* overrideIndexBuffer
134 ) const;
135
136 MCNAPI void renderMesh(
137 ::mce::MeshContext& meshContext,
138 ::mce::MaterialPtr const& materialPtr,
139 ::gsl::span<::mce::ClientTexture const*> textures,
140 uint startOffset,
141 uint count,
142 ::std::variant<
143 ::std::monostate,
144 ::UIActorOffscreenCaptureDescription,
145 ::UIThumbnailMeshOffscreenCaptureDescription,
146 ::UIMeshOffscreenCaptureDescription,
147 ::UIStructureVolumeOffscreenCaptureDescription> const& offscreenCaptureDescription,
148 ::mce::IndexBufferContainer const* overrideIndexBuffer
149 ) const;
150
151 MCNAPI void renderMesh(
152 ::mce::MeshContext& meshContext,
153 ::mce::MaterialPtr const& materialPtr,
154 ::std::initializer_list<::std::reference_wrapper<::mce::TexturePtr const>> textures,
155 uint startOffset,
156 uint count,
157 ::std::variant<
158 ::std::monostate,
159 ::UIActorOffscreenCaptureDescription,
160 ::UIThumbnailMeshOffscreenCaptureDescription,
161 ::UIMeshOffscreenCaptureDescription,
162 ::UIStructureVolumeOffscreenCaptureDescription> const& offscreenCaptureDescription,
163 ::mce::IndexBufferContainer const* overrideIndexBuffer
164 ) const;
165
166 MCNAPI void renderMesh(
167 ::mce::MeshContext& meshContext,
168 ::dragon::RenderMetadata const& renderMetadata,
169 ::mce::MaterialPtr const& materialPtr,
170 ::std::variant<::std::monostate, ::mce::TexturePtr, ::mce::ClientTexture, ::mce::ServerTexture> const& texture,
171 uint startOffset,
172 uint count,
173 ::mce::IndexBufferContainer const* overrideIndexBuffer
174 ) const;
175
176 MCNAPI void reset();
177
178 MCNAPI ~Mesh();
179 // NOLINTEND
180
181public:
182 // constructor thunks
183 // NOLINTBEGIN
184 MCNAPI void* $ctor();
185
186 MCNAPI void* $ctor(::mce::Mesh&& c);
187
188 MCNAPI void* $ctor(::mce::Mesh const& rhs);
189
190 MCNAPI void* $ctor(
191 ::std::shared_ptr<::mce::BufferResourceService>& bufferResourceService,
192 ::mce::MeshData&& data,
193 bool temporary,
194 ::std::string_view debugName
195 );
196 // NOLINTEND
197
198public:
199 // destructor thunk
200 // NOLINTBEGIN
201 MCNAPI void $dtor();
202 // NOLINTEND
203};
204
205} // namespace mce
Definition MeshContext.h:7
Definition Mesh.h:30
MCAPI bool isValid() const
MCAPI uint64 getMeshVertexCount() const
MCAPI void * $ctor()
MCAPI bool _loadRawData(::mce::BufferResourceService &bufferResourceService, ::std::string_view debugName) const
MCAPI void renderMesh(::mce::MeshContext &meshContext, ::mce::MaterialPtr const &materialPtr, ::std::initializer_list<::std::reference_wrapper<::mce::TexturePtr const > > textures, uint startOffset, uint count, ::std::variant< ::std::monostate, ::UIActorOffscreenCaptureDescription, ::UIThumbnailMeshOffscreenCaptureDescription, ::UIMeshOffscreenCaptureDescription, ::UIStructureVolumeOffscreenCaptureDescription > const &offscreenCaptureDescription, ::mce::IndexBufferContainer const *overrideIndexBuffer) const
MCAPI void _renderMesh(::mce::MeshContext &meshContext, ::mce::MaterialPtr const &materialPtr, ::brstd::static_vector< ::std::variant<::std::monostate, ::mce::TexturePtr, ::mce::ClientTexture, ::mce::ServerTexture >, 8 > textures, uint startOffset, uint count, ::std::variant< ::std::monostate, ::UIActorOffscreenCaptureDescription, ::UIThumbnailMeshOffscreenCaptureDescription, ::UIMeshOffscreenCaptureDescription, ::UIStructureVolumeOffscreenCaptureDescription > const &offscreenCaptureDescription, ::mce::IndexBufferContainer const *overrideIndexBuffer, ::std::optional<::dragon::RenderMetadata > renderMetadata) const
MCAPI void prepareAsEmptyData(::mce::VertexLayout const &forcedLayout) const
MCAPI Mesh(::mce::Mesh &&c)
MCAPI Mesh(::mce::Mesh const &rhs)
MCAPI Mesh(::std::shared_ptr<::mce::BufferResourceService > &bufferResourceService, ::mce::MeshData &&data, bool temporary, ::std::string_view debugName)
MCAPI void generateHALData(::mce::VertexLayout const *forcedLayout, bool splitStream) const
MCAPI void renderMesh(::mce::MeshContext &meshContext, ::mce::MaterialPtr const &materialPtr, ::std::variant<::std::monostate, ::mce::TexturePtr, ::mce::ClientTexture, ::mce::ServerTexture > const &texture, uint startOffset, uint count, ::std::variant< ::std::monostate, ::UIActorOffscreenCaptureDescription, ::UIThumbnailMeshOffscreenCaptureDescription, ::UIMeshOffscreenCaptureDescription, ::UIStructureVolumeOffscreenCaptureDescription > const &offscreenCaptureDescription, ::mce::IndexBufferContainer const *overrideIndexBuffer) const
MCAPI ~Mesh()
MCAPI bool hasField(::mce::VertexField type) const
MCAPI void reset()
MCAPI void _freeHALData() const
MCAPI bool isVertexLayoutValid() const
MCAPI void renderMesh(::mce::MeshContext &meshContext, ::dragon::RenderMetadata const &renderMetadata, ::mce::MaterialPtr const &materialPtr, ::std::variant<::std::monostate, ::mce::TexturePtr, ::mce::ClientTexture, ::mce::ServerTexture > const &texture, uint startOffset, uint count, ::mce::IndexBufferContainer const *overrideIndexBuffer) const
MCAPI void $dtor()
MCAPI bool areBuffersValid() const
MCAPI void * $ctor(::std::shared_ptr<::mce::BufferResourceService > &bufferResourceService, ::mce::MeshData &&data, bool temporary, ::std::string_view debugName)
MCAPI void * $ctor(::mce::Mesh const &rhs)
MCAPI void _move(::mce::Mesh &rhs)
MCAPI void renderMesh(::mce::MeshContext &meshContext, ::mce::MaterialPtr const &materialPtr, ::gsl::span<::mce::ClientTexture const * > textures, uint startOffset, uint count, ::std::variant< ::std::monostate, ::UIActorOffscreenCaptureDescription, ::UIThumbnailMeshOffscreenCaptureDescription, ::UIMeshOffscreenCaptureDescription, ::UIStructureVolumeOffscreenCaptureDescription > const &offscreenCaptureDescription, ::mce::IndexBufferContainer const *overrideIndexBuffer) const
MCAPI void * $ctor(::mce::Mesh &&c)
MCAPI Mesh()
MCAPI void renderMesh(::mce::MeshContext &meshContext, ::mce::MaterialPtr const &materialPtr, uint startOffset, uint count, ::std::variant< ::std::monostate, ::UIActorOffscreenCaptureDescription, ::UIThumbnailMeshOffscreenCaptureDescription, ::UIMeshOffscreenCaptureDescription, ::UIStructureVolumeOffscreenCaptureDescription > const &offscreenCaptureDescription, ::mce::IndexBufferContainer const *overrideIndexBuffer) const
Definition Alias.h:14
Definition BufferResourceService.h:7
Definition IndexBufferContainer.h:7