From e6e66624ea3cb398b87511f6f2a053dd2963e6a8 Mon Sep 17 00:00:00 2001 From: David Williams Date: Sat, 6 Jun 2009 14:26:21 +0000 Subject: [PATCH] Optimization to VolumeSampler::setPosition(); --- library/PolyVoxCore/include/VolumeSampler.inl | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/library/PolyVoxCore/include/VolumeSampler.inl b/library/PolyVoxCore/include/VolumeSampler.inl index 41b02e39..913530b6 100644 --- a/library/PolyVoxCore/include/VolumeSampler.inl +++ b/library/PolyVoxCore/include/VolumeSampler.inl @@ -190,20 +190,20 @@ namespace PolyVox mYPosInVolume = yPos; mZPosInVolume = zPos; - uint16_t uXBlock = mXPosInVolume >> mVolume.m_uBlockSideLengthPower; - uint16_t uYBlock = mYPosInVolume >> mVolume.m_uBlockSideLengthPower; - uint16_t uZBlock = mZPosInVolume >> mVolume.m_uBlockSideLengthPower; + const uint16_t uXBlock = mXPosInVolume >> mVolume.m_uBlockSideLengthPower; + const uint16_t uYBlock = mYPosInVolume >> mVolume.m_uBlockSideLengthPower; + const uint16_t uZBlock = mZPosInVolume >> mVolume.m_uBlockSideLengthPower; - uint16_t uXPosInBlock = mXPosInVolume - (uXBlock << mVolume.m_uBlockSideLengthPower); - uint16_t uYPosInBlock = mYPosInVolume - (uYBlock << mVolume.m_uBlockSideLengthPower); - uint16_t uZPosInBlock = mZPosInVolume - (uZBlock << mVolume.m_uBlockSideLengthPower); + const uint16_t uXPosInBlock = mXPosInVolume - (uXBlock << mVolume.m_uBlockSideLengthPower); + const uint16_t uYPosInBlock = mYPosInVolume - (uYBlock << mVolume.m_uBlockSideLengthPower); + const uint16_t uZPosInBlock = mZPosInVolume - (uZBlock << mVolume.m_uBlockSideLengthPower); - uint32_t uBlockIndexInVolume = uXBlock + + const uint32_t uBlockIndexInVolume = uXBlock + uYBlock * mVolume.m_uWidthInBlocks + uZBlock * mVolume.m_uWidthInBlocks * mVolume.m_uHeightInBlocks; - POLYVOX_SHARED_PTR< Block > currentBlock = mVolume.m_pBlocks[uBlockIndexInVolume]; + const POLYVOX_SHARED_PTR< Block >& currentBlock = mVolume.m_pBlocks[uBlockIndexInVolume]; - uint32_t uVoxelIndexInBlock = uXPosInBlock + + const uint32_t uVoxelIndexInBlock = uXPosInBlock + uYPosInBlock * mVolume.m_uBlockSideLength + uZPosInBlock * mVolume.m_uBlockSideLength * mVolume.m_uBlockSideLength; mCurrentVoxel = currentBlock->m_tData + uVoxelIndexInBlock;