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

Public Types

enum class  SortState : uchar { Sorting = 0 , Idle = 1 }
enum class  SortState : uchar { Sorting = 0 , Idle = 1 }

Public Member Functions

MCAPI void _startSortCommon (::RenderChunkSorter &sorter)
MCAPI void clearMeshData ()
MCAPI::ChunkLayerRenderObject createLayerRenderObject (::TerrainLayer const &layer, ::TerrainLayerLOD layerLOD, ::mce::MaterialPtr const &material, uint64 chunkIndex, uint visibleCameraMask, ::RangeIndices indices) const
MCAPI void endSort (::RenderChunkSorter &sorter, ::mce::BufferResourceService &bufferResourceService)
MCAPI void onOrthographicCameraMoved (::Vec3 const &currentCameraForward)
MCAPI void onPerspectiveCameraMoved (::Vec3 const &currentCameraPos, bool forceAccurateSort)
MCAPI void promoteSortedGeometry ()
MCAPI void setRenderChunkShared (::std::shared_ptr<::RenderChunkShared > renderChunkShared)
MCAPI void * $ctor ()
MCAPI void $dtor ()

Static Public Member Functions

static MCAPI void _resetIndices (::std::variant< ::std::monostate, ::std::shared_ptr<::RenderChunkDirectIndexData >, ::std::shared_ptr<::RenderChunkLayerGroupIndexData > > &indices)
static MCAPI void garbageCollectIndexBuffers ()
static MCAPI ::MPMCQueue<::std::variant< ::std::monostate, ::std::shared_ptr<::RenderChunkDirectIndexData >, ::std::shared_ptr<::RenderChunkLayerGroupIndexData > > > & mIndexBufferGarbageList ()

Public Attributes

::ll::TypedStorage< 4, 4, float > mDistanceFromCamera2
::ll::TypedStorage< 4, 4, float > mChunkBuildPriority
bool mCanRender: 1
bool mCameraMovedEnough: 1
bool mFallbackToUnsorted: 1
bool mNewSortData: 1
bool mCurrentGeometryHasSortedLayers: 1
bool mEmpty: 1
::ll::TypedStorage< 1, 1, ::std::atomic<::RenderChunkInstanced::SortState > > mSortState
::ll::TypedStorage< 1, 1, uchar > mLastSortRenderChunkGeometryVersion
::ll::TypedStorage< 4, 4, float > mAverageBrightness
::ll::TypedStorage< 8, 16, ::std::shared_ptr<::RenderChunkShared > > mRenderChunkShared
::ll::TypedStorage< 8, 16, ::std::shared_ptr<::RenderChunkGeometry > > mCurrentRenderChunkGeometry
::ll::TypedStorage< 8, 24, ::std::variant< ::std::monostate, ::std::shared_ptr<::RenderChunkDirectIndexData >, ::std::shared_ptr<::RenderChunkLayerGroupIndexData > > > mCurrentIndices
::ll::TypedStorage< 8, 8, ::std::unique_ptr<::std::array<::RangeIndices, 22 > > > mCurrentIndexRanges
::ll::TypedStorage< 8, 8, uint64 > mIndexBufferSizeEstimate
::ll::TypedStorage< 8, 16, ::std::shared_ptr<::RenderChunkGeometry > > mSortingRenderChunkGeometry
::ll::TypedStorage< 8, 16, ::std::shared_ptr<::RenderChunkGeometry > > mNextRenderChunkGeometry
::ll::TypedStorage< 8, 24, ::std::variant< ::std::monostate, ::std::shared_ptr<::RenderChunkDirectIndexData >, ::std::shared_ptr<::RenderChunkLayerGroupIndexData > > > mNextIndices
::ll::TypedStorage< 8, 8, ::std::unique_ptr<::std::array<::RangeIndices, 22 > > > mNextIndexRanges
::ll::TypedStorage< 4, 12, ::glm::ivec3 > mLastSortCameraDelta
::ll::TypedStorage< 4, 12, ::glm::ivec3 > mCurrentIndexBufferCameraDelta
::ll::TypedStorage< 8, 8, ::std::chrono::steady_clock::time_point > mGuaranteedPromoteTime
::ll::TypedStorage< 8, 16, ::std::weak_ptr<::mce::BufferResourceService > > mBufferResourceService

Member Function Documentation

◆ _startSortCommon()

MCAPI void RenderChunkInstanced::_startSortCommon ( ::RenderChunkSorter & sorter)
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.

◆ clearMeshData()

MCAPI void RenderChunkInstanced::clearMeshData ( )
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.

◆ createLayerRenderObject()

MCAPI::ChunkLayerRenderObject RenderChunkInstanced::createLayerRenderObject ( ::TerrainLayer const & layer,
::TerrainLayerLOD layerLOD,
::mce::MaterialPtr const & material,
uint64 chunkIndex,
uint visibleCameraMask,
::RangeIndices indices ) const
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.

◆ onOrthographicCameraMoved()

MCAPI void RenderChunkInstanced::onOrthographicCameraMoved ( ::Vec3 const & currentCameraForward)
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.

◆ onPerspectiveCameraMoved()

MCAPI void RenderChunkInstanced::onPerspectiveCameraMoved ( ::Vec3 const & currentCameraPos,
bool forceAccurateSort )
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.

◆ setRenderChunkShared()

MCAPI void RenderChunkInstanced::setRenderChunkShared ( ::std::shared_ptr<::RenderChunkShared > renderChunkShared)
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.

◆ _resetIndices()

MCAPI void RenderChunkInstanced::_resetIndices ( ::std::variant< ::std::monostate, ::std::shared_ptr<::RenderChunkDirectIndexData >, ::std::shared_ptr<::RenderChunkLayerGroupIndexData > > & indices)
static
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.

◆ garbageCollectIndexBuffers()

MCAPI void RenderChunkInstanced::garbageCollectIndexBuffers ( )
static
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.

◆ mIndexBufferGarbageList()

MCAPI ::MPMCQueue<::std::variant< ::std::monostate, ::std::shared_ptr<::RenderChunkDirectIndexData >, ::std::shared_ptr<::RenderChunkLayerGroupIndexData > > > & RenderChunkInstanced::mIndexBufferGarbageList ( )
static
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: