Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
Tessellator Class Reference

Classes

struct  DebugContextCallback

Public Types

enum class  UploadMode : int { Buffered = 0 , Manual = 1 , Never = 2 }
enum class  UploadMode : int { Buffered = 0 , Manual = 1 , Never = 2 }
using Index = uint

Public Member Functions

MCAPI Tessellator (::std::weak_ptr<::mce::BufferResourceService > bufferResourceService)
MCAPI void addRotation (float angle, ::Vec3 const &axis)
MCAPI void addTranslation (::Vec3 const &offset)
MCAPI void begin (::Tessellator::DebugContextCallback debugContextCallback, ::mce::PrimitiveMode mode, int reservedVertices, bool buildFaceData)
MCAPI void beginOverride (::Tessellator::DebugContextCallback debugContextCallback)
MCAPI void clear ()
MCAPI void color (float r, float g, float b, float a)
MCAPI::mce::Mesh end (::Tessellator::UploadMode uploadMode, ::std::string_view debugName, ::SupplementaryFieldAutoGenerationMode supplementaryFieldGenerationMode)
MCAPI void quad (uint i1, uint i2, uint i3, uint i4)
MCAPI void resetTransform (bool setToIdentity)
MCAPI void rotateAroundPivot (::Vec3 const &pivotOffset, float angle, ::Vec3 const &rotationAxis, bool preTransform)
MCAPI void setTessellateIntercept (::std::function< void(::Tessellator const &, ::mce::MaterialPtr const &, ::mce::TexturePtr const &)> callback)
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 tex2 (::Vec2 const &v)
MCAPI void triggerIntercept (::mce::MaterialPtr const &material, ::mce::TexturePtr const &texture)
MCAPI void vertex (float x, float y, float z)
MCAPI void * $ctor (::std::weak_ptr<::mce::BufferResourceService > bufferResourceService)
MCAPI void $dtor ()

Public Attributes

::ll::TypedStorage< 1, 1, bool > mIsFormatFixed
::ll::TypedStorage< 8, 352, ::mce::MeshData > mMeshData
::ll::TypedStorage< 1, 1, bool > mHasNormals
::ll::TypedStorage< 8, 8, uint64 > mNextReserve
::ll::TypedStorage< 4, 20, ::std::optional<::glm::vec4 > > mNextNormal
::ll::TypedStorage< 4, 36, ::std::optional<::glm::vec2 >[3]> mNextUV
::ll::TypedStorage< 4, 8, ::std::optional< uint > > mNextColor
::ll::TypedStorage< 2, 4, ::std::optional< ushort > > mNextBoneId
::ll::TypedStorage< 2, 4, ::std::optional< ushort > > mNextPBRTextureIdx
::ll::TypedStorage< 4, 8, ::std::optional< uint > > mNextMERS
::ll::TypedStorage< 1, 2, ::std::optional< uchar > > mNextGeoType
::ll::TypedStorage< 1, 1, bool > mIndexPhase
::ll::TypedStorage< 4, 12, ::Vec3 > mPostTransformOffset
::ll::TypedStorage< 4, 12, ::Vec3 > mPostTransformScale
::ll::TypedStorage< 1, 1, uchar > mQuadFacing
::ll::TypedStorage< 1, 1, bool > mQuadTwoSided
::ll::TypedStorage< 8, 24, ::std::vector<::TessellatorQuadInfo > > mQuadInfoList
::ll::TypedStorage< 4, 12, ::Vec3 > mFaceCenterAccumulator
::ll::TypedStorage< 4, 4, int > mCurQuadVertex
::ll::TypedStorage< 1, 1, bool > mApplyTransform
::ll::TypedStorage< 4, 64, ::glm::mat4x4 > mTransformMatrix
::ll::TypedStorage< 1, 1, bool > mNoColor
::ll::TypedStorage< 1, 1, bool > mVoidBeginEnd
::ll::TypedStorage< 1, 1, bool > mForceTessellateIntercept
::ll::TypedStorage< 8, 64, ::std::function< void(::Tessellator const &, ::mce::MaterialPtr const &, ::mce::TexturePtr const &)> > mInterceptTessellator
::ll::TypedStorage< 4, 4, uint > mCount
::ll::TypedStorage< 4, 4, uint > mMaxVertexCount
::ll::TypedStorage< 1, 1, bool > mTessellating
::ll::TypedStorage< 1, 1, bool > mBuildFaceData
::ll::TypedStorage< 8, 8, ::std::unique_ptr<::mce::Mesh > > mPreGeneratedMesh
::ll::TypedStorage< 8, 16, ::std::weak_ptr<::mce::BufferResourceService > > mBufferResourceService

Member Function Documentation

◆ addRotation()

MCAPI void Tessellator::addRotation ( float angle,
::Vec3 const & axis )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ addTranslation()

MCAPI void Tessellator::addTranslation ( ::Vec3 const & offset)
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ beginOverride()

MCAPI void Tessellator::beginOverride ( ::Tessellator::DebugContextCallback debugContextCallback)
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ clear()

MCAPI void Tessellator::clear ( )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ quad()

MCAPI void Tessellator::quad ( uint i1,
uint i2,
uint i3,
uint i4 )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ rotateAroundPivot()

MCAPI void Tessellator::rotateAroundPivot ( ::Vec3 const & pivotOffset,
float angle,
::Vec3 const & rotationAxis,
bool preTransform )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ simpleQuad()

MCAPI void Tessellator::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 )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

◆ triggerIntercept()

MCAPI void Tessellator::triggerIntercept ( ::mce::MaterialPtr const & material,
::mce::TexturePtr const & texture )
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

The documentation for this class was generated from the following files: