From d1bcaec2c5a4bbca97f4b6a76886d44218cd6215 Mon Sep 17 00:00:00 2001 From: David Williams Date: Thu, 2 Apr 2015 23:11:19 +0200 Subject: [PATCH] This commit knocks about 30% off the run time of the sampler tests by using a more efficient check for whether we are near the edge of the chunk. --- include/PolyVox/PagedVolumeSampler.inl | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/include/PolyVox/PagedVolumeSampler.inl b/include/PolyVox/PagedVolumeSampler.inl index e7d87b50..fa9cdb10 100644 --- a/include/PolyVox/PagedVolumeSampler.inl +++ b/include/PolyVox/PagedVolumeSampler.inl @@ -24,11 +24,14 @@ freely, subject to the following restrictions: #include #define CAN_GO_NEG_X(val) ((val % this->mVolume->m_uChunkSideLength != 0)) -#define CAN_GO_POS_X(val) (((val + 1) % this->mVolume->m_uChunkSideLength != 0)) +//#define CAN_GO_POS_X(val) (((val + 1) % this->mVolume->m_uChunkSideLength != 0)) +#define CAN_GO_POS_X(val) (this->m_uXPosInChunk < this->mVolume->m_uChunkSideLength-1) #define CAN_GO_NEG_Y(val) ((val % this->mVolume->m_uChunkSideLength != 0)) -#define CAN_GO_POS_Y(val) (((val + 1) % this->mVolume->m_uChunkSideLength != 0)) +//#define CAN_GO_POS_Y(val) (((val + 1) % this->mVolume->m_uChunkSideLength != 0)) +#define CAN_GO_POS_Y(val) (this->m_uYPosInChunk < this->mVolume->m_uChunkSideLength-1) #define CAN_GO_NEG_Z(val) ((val % this->mVolume->m_uChunkSideLength != 0)) -#define CAN_GO_POS_Z(val) (((val + 1) % this->mVolume->m_uChunkSideLength != 0)) +//#define CAN_GO_POS_Z(val) (((val + 1) % this->mVolume->m_uChunkSideLength != 0)) +#define CAN_GO_POS_Z(val) (this->m_uZPosInChunk < this->mVolume->m_uChunkSideLength-1) #define NEG_X_DELTA (-(deltaX[this->m_uXPosInChunk-1])) #define POS_X_DELTA (deltaX[this->m_uXPosInChunk])