LeviLamina
Loading...
Searching...
No Matches
Tessellator.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core_graphics/enums/PrimitiveMode.h"
7
8// auto generated forward declare list
9// clang-format off
10class Vec2;
11class Vec3;
12namespace mce { class Color; }
13namespace mce { class MaterialPtr; }
14namespace mce { class Mesh; }
15namespace mce { class TexturePtr; }
16namespace mce { struct BufferResourceService; }
17// clang-format on
18
20public:
21 // Tessellator inner types define
22 enum class UploadMode : uint {};
23
24 enum class SupplementaryFieldAutoGenerationMode : uint {};
25
26public:
27 // member variables
28 // NOLINTBEGIN
59 // NOLINTEND
60
61public:
62 // prevent constructor by default
63 Tessellator& operator=(Tessellator const&);
66
67public:
68 // member functions
69 // NOLINTBEGIN
70 MCNAPI explicit Tessellator(::std::weak_ptr<::mce::BufferResourceService> bufferResourceService);
71
72 MCNAPI void _tex(::Vec2 const& coord, int unit);
73
74 MCNAPI void addPostTransformOffset(float x, float y, float z);
75
76 MCNAPI void addRotation(float angle, ::Vec3 const& axis);
77
78 MCNAPI void addTranslation(::Vec3 const& offset);
79
80 MCNAPI void begin(int reservedVertices, bool buildFaceData);
81
82 MCNAPI void begin(::mce::PrimitiveMode mode, int reservedVertices, bool buildFaceData);
83
84 MCNAPI void beginIndices(uint64 estimateCount);
85
86 MCNAPI void clear();
87
88 MCNAPI void color(::mce::Color const& c);
89
90 MCNAPI void color(float r, float g, float b, float a);
91
92 MCNAPI ::mce::Mesh
93 end(::Tessellator::UploadMode uploadMode,
94 ::std::string_view debugName,
95 ::Tessellator::SupplementaryFieldAutoGenerationMode supplementaryFieldGenerationMode);
96
97 MCNAPI void normal(float x, float y, float z, float w);
98
99 MCNAPI void postTransformScale(::Vec3 const& scale);
100
101 MCNAPI void quad(uint i1, uint i2, uint i3, uint i4);
102
103 MCNAPI void resetTransform(bool setToIdentity);
104
105 MCNAPI void
106 rotateAroundPivot(::Vec3 const& pivotOffset, float angle, ::Vec3 const& rotationAxis, bool preTransform);
107
108 MCNAPI void simpleQuad(
109 ::Vec3 const& pos0,
110 ::Vec2 const& uv0,
111 ::Vec3 const& pos1,
112 ::Vec2 const& uv1,
113 ::Vec3 const& pos2,
114 ::Vec2 const& uv2,
115 ::Vec3 const& pos3,
116 ::Vec2 const& uv3
117 );
118
119 MCNAPI void tex1(::Vec2 const& v);
120
121 MCNAPI void triggerIntercept(::mce::MaterialPtr const& material, ::mce::TexturePtr const& texture);
122
123 MCNAPI void trim();
124
125 MCNAPI void vertex(float x, float y, float z);
126
127 MCNAPI void vertexUV(float x, float y, float z, float u, float v);
128
129 MCNAPI ~Tessellator();
130 // NOLINTEND
131
132public:
133 // constructor thunks
134 // NOLINTBEGIN
135 MCNAPI void* $ctor(::std::weak_ptr<::mce::BufferResourceService> bufferResourceService);
136 // NOLINTEND
137
138public:
139 // destructor thunk
140 // NOLINTBEGIN
141 MCNAPI void $dtor();
142 // NOLINTEND
143};
Definition Tessellator.h:19
MCAPI void simpleQuad(::Vec3 const &pos0, ::Vec2 const &uv0, ::Vec3 const &pos1, ::Vec2 const &uv1, ::Vec3 const &pos2, ::Vec2 const &uv2, ::Vec3 const &pos3, ::Vec2 const &uv3)
MCAPI void addTranslation(::Vec3 const &offset)
MCAPI void quad(uint i1, uint i2, uint i3, uint i4)
MCAPI void * $ctor(::std::weak_ptr<::mce::BufferResourceService > bufferResourceService)
MCAPI void addRotation(float angle, ::Vec3 const &axis)
MCAPI void vertexUV(float x, float y, float z, float u, float v)
MCAPI void beginIndices(uint64 estimateCount)
MCAPI void color(::mce::Color const &c)
MCAPI void clear()
MCAPI void normal(float x, float y, float z, float w)
MCAPI void _tex(::Vec2 const &coord, int unit)
MCAPI::mce::Mesh end(::Tessellator::UploadMode uploadMode, ::std::string_view debugName, ::Tessellator::SupplementaryFieldAutoGenerationMode supplementaryFieldGenerationMode)
MCAPI ~Tessellator()
MCAPI void tex1(::Vec2 const &v)
MCAPI void vertex(float x, float y, float z)
MCAPI void begin(int reservedVertices, bool buildFaceData)
MCAPI Tessellator(::std::weak_ptr<::mce::BufferResourceService > bufferResourceService)
MCAPI void $dtor()
MCAPI void triggerIntercept(::mce::MaterialPtr const &material, ::mce::TexturePtr const &texture)
MCAPI void rotateAroundPivot(::Vec3 const &pivotOffset, float angle, ::Vec3 const &rotationAxis, bool preTransform)
MCAPI void color(float r, float g, float b, float a)
MCAPI void resetTransform(bool setToIdentity)
MCAPI void trim()
MCAPI void postTransformScale(::Vec3 const &scale)
MCAPI void addPostTransformOffset(float x, float y, float z)
MCAPI void begin(::mce::PrimitiveMode mode, int reservedVertices, bool buildFaceData)
Definition Vec2.h:5
Definition Vec3.h:10
Definition Color.h:7
Definition MaterialPtr.h:14
Definition TexturePtr.h:19
Definition _HeaderOutputPredefine.h:273