diff --git a/include/PolyVox/PagedVolume.h b/include/PolyVox/PagedVolume.h index f9423373..ad33dcb2 100644 --- a/include/PolyVox/PagedVolume.h +++ b/include/PolyVox/PagedVolume.h @@ -247,6 +247,7 @@ namespace PolyVox uint16_t m_uXPosInChunk; uint16_t m_uYPosInChunk; uint16_t m_uZPosInChunk; + uint16_t m_uChunkSideLengthMinusOne; }; #endif diff --git a/include/PolyVox/PagedVolumeSampler.inl b/include/PolyVox/PagedVolumeSampler.inl index 68197bd5..c2ae8f08 100644 --- a/include/PolyVox/PagedVolumeSampler.inl +++ b/include/PolyVox/PagedVolumeSampler.inl @@ -24,11 +24,11 @@ freely, subject to the following restrictions: #include #define CAN_GO_NEG_X(val) (val > 0) -#define CAN_GO_POS_X(val) (val < this->mVolume->m_uChunkSideLength-1) +#define CAN_GO_POS_X(val) (val < this->m_uChunkSideLengthMinusOne) #define CAN_GO_NEG_Y(val) (val > 0) -#define CAN_GO_POS_Y(val) (val < this->mVolume->m_uChunkSideLength-1) +#define CAN_GO_POS_Y(val) (val < this->m_uChunkSideLengthMinusOne) #define CAN_GO_NEG_Z(val) (val > 0) -#define CAN_GO_POS_Z(val) (val < this->mVolume->m_uChunkSideLength-1) +#define CAN_GO_POS_Z(val) (val < this->m_uChunkSideLengthMinusOne) #define NEG_X_DELTA (-(deltaX[this->m_uXPosInChunk-1])) #define POS_X_DELTA (deltaX[this->m_uXPosInChunk]) @@ -47,6 +47,7 @@ namespace PolyVox PagedVolume::Sampler::Sampler(PagedVolume* volume) :BaseVolume::template Sampler< PagedVolume >(volume) { + this->m_uChunkSideLengthMinusOne = this->mVolume->m_uChunkSideLength - 1; } template