LeviLamina
|
Public Types | |
enum class | SubChunkToDoBitsClearMode : int { AllSubChunkBorderBitsExceptTheOuterEdgeOfComputationBits = 0 , SetOuterEdgeOfComputationBits = 1 } |
using | LightPair = ::SubChunkBrightnessStorage::LightPair |
Public Member Functions | |
MCAPI | SubChunkRelighter (::IBlockSource &source, uint64 centerSubChunkIndex, ::ChunkPos const ¢erChunkPos, bool originalLighting, bool useFullyDarkSubchunk) |
MCAPI void | _checkEdgeForSubtractiveBlockLightProcessing (::SubChunkLightIndex const &coordIndex) |
MCAPI void | _checkEdgeForSubtractiveSkyLightProcessing (::SubChunkLightIndex const &coordIndex) |
MCAPI::SubChunk * | _dirtySubChunk (::SubChunkLightIndex coordIndex, uint &subChunkIndex) |
MCAPI::SubChunk * | _getBlock (::SubChunkLightIndex coordIndex, ::Block const *&block, ::Block const *&extraBlock) const |
MCAPI::SubChunkBrightnessStorage::LightPair | _getLightPair (::SubChunkLightIndex coordIndex) const |
MCAPI void | _propagateBlockLight () |
MCAPI void | _propagateBlockLight (::SubChunkLightIndex coordIndex, uchar brightness) |
MCAPI void | _propagateSkyLight () |
MCAPI void | _propagateSkyLight (::SubChunkLightIndex coordIndex, uchar brightness) |
MCAPI void | _propagateSubtractiveBlockLight () |
MCAPI void | _propagateSubtractiveBlockLight (::SubChunkLightIndex coordIndex, uchar effectiveBrightness) |
MCAPI void | _propagateSubtractiveSkyLight () |
MCAPI void | _propagateSubtractiveSkyLight (::SubChunkLightIndex coordIndex, uchar effectiveBrightness) |
MCAPI void | _setLightHelper (::SubChunkLightIndex coordIndex, ::Brightness oldBrightness, ::Brightness newBrightness, ::Brightness oldAbsorption, ::Brightness newAbsorption, uint lightType, uint subChunkIndex) |
MCAPI void | _setPropagatedBlockLightValue (::SubChunkLightIndex coordIndex, uchar brightness) |
MCAPI void | _setPropagatedSkyLightValue (::SubChunkLightIndex coordIndex, uchar brightness) |
MCAPI void | _setSkyLight (::SubChunkLightIndex coordIndex, ::Brightness oldBrightness, ::Brightness newBrightness, ::Brightness oldAbsorption, ::Brightness newAbsorption) |
MCAPI void | relightSubChunk (::LevelChunk const &levelChunk, ::std::vector<::SubChunkLightUpdate > const &alteredBlockList, ::std::vector<::BlockPos > &brightnessChangedList) |
MCAPI void | setBlockLight (::Pos const &pos, ::Brightness oldBrightness, ::Brightness newBrightness, ::Brightness oldAbsorption, ::Brightness newAbsorption) |
MCAPI | ~SubChunkRelighter () |
MCAPI void * | $ctor (::IBlockSource &source, uint64 centerSubChunkIndex, ::ChunkPos const ¢erChunkPos, bool originalLighting, bool useFullyDarkSubchunk) |
MCAPI void | $dtor () |
Static Public Member Functions | |
static MCAPI ::std::bitset< 196608 > | computeAllSubChunkBorderBitsExceptTheOuterEdgeOfComputationBits () |
static MCAPI ::std::bitset< 196608 > | computeOuterEdgeOfComputationBits () |
static MCAPI void | initializeStatics () |
static MCAPI ::std::bitset< 196608 > & | mAllSubChunkBorderBitsExceptTheOuterEdgeOfComputationBits () |
static MCAPI ::std::bitset< 196608 > & | mOuterEdgeOfComputationBits () |
static MCAPI ::SpinLockImpl & | sDarkSpinLock () |
static MCAPI ::std::unique_ptr<::SubChunk > & | sFullyDarkSubChunk () |
static MCAPI ::std::unique_ptr<::SubChunk > & | sFullyLitSubChunk () |
static MCAPI ::SpinLockImpl & | sLitSpinLock () |
Public Attributes | |
::ll::TypedStorage< 1, 1, bool > | mNeedToResetToDoBits |
::ll::TypedStorage< 8, 24576, ::std::bitset< 196608 > > | mToDo |
::ll::TypedStorage< 1, 4096, ::std::array< uchar, 4096 > > | mOldAbsorption |
::ll::TypedStorage< 8, 768, ::std::vector<::SubChunkLightIndex >[2][16]> | mAdditiveBlocksToProcess |
::ll::TypedStorage< 8, 384, ::std::vector<::SubChunkLightIndex >[16]> | mEdgeBlocksToProcess |
::ll::TypedStorage< 8, 384, ::std::vector<::SubChunkLightIndex >[16]> | mBlocksToProcess |
::ll::TypedStorage< 8, 24, ::std::vector<::SubChunkLightIndex > > | mAbsorptionBlocksToProcess |
::ll::TypedStorage< 8, 48, ::std::vector<::SubtractiveLightInfo >[2]> | mSubtractiveBlocks |
::ll::TypedStorage< 8, 384, ::SubChunk *[3][4][4]> | mSubChunkPtrArray |
::ll::TypedStorage< 1, 48, bool[3][4][4]> | mSubChunkTouched |
::ll::TypedStorage< 8, 8, ::ChunkPos > | mCenterChunkPos |
::ll::TypedStorage< 8, 8, uint64 > | mCenterSubChunkIndex |
::ll::TypedStorage< 1, 1, bool > | mOriginalLighting |
::ll::TypedStorage< 1, 1, ::SubChunkBrightnessStorage::LightPair > | mDefaultLightPair |
MCAPI SubChunkRelighter::SubChunkRelighter | ( | ::IBlockSource & | source, |
uint64 | centerSubChunkIndex, | ||
::ChunkPos const & | centerChunkPos, | ||
bool | originalLighting, | ||
bool | useFullyDarkSubchunk ) |
MCAPI SubChunkRelighter::~SubChunkRelighter | ( | ) |
MCAPI void SubChunkRelighter::_checkEdgeForSubtractiveBlockLightProcessing | ( | ::SubChunkLightIndex const & | coordIndex | ) |
MCAPI void SubChunkRelighter::_checkEdgeForSubtractiveSkyLightProcessing | ( | ::SubChunkLightIndex const & | coordIndex | ) |
MCAPI::SubChunk * SubChunkRelighter::_dirtySubChunk | ( | ::SubChunkLightIndex | coordIndex, |
uint & | subChunkIndex ) |
MCAPI::SubChunk * SubChunkRelighter::_getBlock | ( | ::SubChunkLightIndex | coordIndex, |
::Block const *& | block, | ||
::Block const *& | extraBlock ) const |
MCAPI::SubChunkBrightnessStorage::LightPair SubChunkRelighter::_getLightPair | ( | ::SubChunkLightIndex | coordIndex | ) | const |
MCAPI void SubChunkRelighter::_propagateBlockLight | ( | ) |
MCAPI void SubChunkRelighter::_propagateBlockLight | ( | ::SubChunkLightIndex | coordIndex, |
uchar | brightness ) |
MCAPI void SubChunkRelighter::_propagateSkyLight | ( | ) |
MCAPI void SubChunkRelighter::_propagateSkyLight | ( | ::SubChunkLightIndex | coordIndex, |
uchar | brightness ) |
MCAPI void SubChunkRelighter::_propagateSubtractiveBlockLight | ( | ) |
MCAPI void SubChunkRelighter::_propagateSubtractiveBlockLight | ( | ::SubChunkLightIndex | coordIndex, |
uchar | effectiveBrightness ) |
MCAPI void SubChunkRelighter::_propagateSubtractiveSkyLight | ( | ) |
MCAPI void SubChunkRelighter::_propagateSubtractiveSkyLight | ( | ::SubChunkLightIndex | coordIndex, |
uchar | effectiveBrightness ) |
MCAPI void SubChunkRelighter::_setLightHelper | ( | ::SubChunkLightIndex | coordIndex, |
::Brightness | oldBrightness, | ||
::Brightness | newBrightness, | ||
::Brightness | oldAbsorption, | ||
::Brightness | newAbsorption, | ||
uint | lightType, | ||
uint | subChunkIndex ) |
MCAPI void SubChunkRelighter::_setPropagatedBlockLightValue | ( | ::SubChunkLightIndex | coordIndex, |
uchar | brightness ) |
MCAPI void SubChunkRelighter::_setPropagatedSkyLightValue | ( | ::SubChunkLightIndex | coordIndex, |
uchar | brightness ) |
MCAPI void SubChunkRelighter::_setSkyLight | ( | ::SubChunkLightIndex | coordIndex, |
::Brightness | oldBrightness, | ||
::Brightness | newBrightness, | ||
::Brightness | oldAbsorption, | ||
::Brightness | newAbsorption ) |
MCAPI void SubChunkRelighter::relightSubChunk | ( | ::LevelChunk const & | levelChunk, |
::std::vector<::SubChunkLightUpdate > const & | alteredBlockList, | ||
::std::vector<::BlockPos > & | brightnessChangedList ) |
MCAPI void SubChunkRelighter::setBlockLight | ( | ::Pos const & | pos, |
::Brightness | oldBrightness, | ||
::Brightness | newBrightness, | ||
::Brightness | oldAbsorption, | ||
::Brightness | newAbsorption ) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
MCAPI void * SubChunkRelighter::$ctor | ( | ::IBlockSource & | source, |
uint64 | centerSubChunkIndex, | ||
::ChunkPos const & | centerChunkPos, | ||
bool | originalLighting, | ||
bool | useFullyDarkSubchunk ) |
MCAPI void SubChunkRelighter::$dtor | ( | ) |