diff options
Diffstat (limited to 'indra/newview/llsurface.cpp')
-rw-r--r-- | indra/newview/llsurface.cpp | 40 |
1 files changed, 22 insertions, 18 deletions
diff --git a/indra/newview/llsurface.cpp b/indra/newview/llsurface.cpp index 1418499f8b..b4e5a5233d 100644 --- a/indra/newview/llsurface.cpp +++ b/indra/newview/llsurface.cpp @@ -90,7 +90,7 @@ LLSurface::LLSurface(U32 type, LLViewerRegion *regionp) : // One of each for each camera mVisiblePatchCount = 0; - mHasZData = FALSE; + mHasZData = false; // "uninitialized" min/max z mMinZ = 10000.f; mMaxZ = -10000.f; @@ -243,7 +243,7 @@ void LLSurface::createSTexture() } } - mSTexturep = LLViewerTextureManager::getLocalTexture(raw.get(), FALSE); + mSTexturep = LLViewerTextureManager::getLocalTexture(raw.get(), false); mSTexturep->dontDiscard(); gGL.getTexUnit(0)->bind(mSTexturep); mSTexturep->setAddressMode(LLTexUnit::TAM_CLAMP); @@ -268,7 +268,7 @@ void LLSurface::createWaterTexture() } } - mWaterTexturep = LLViewerTextureManager::getLocalTexture(raw.get(), FALSE); + mWaterTexturep = LLViewerTextureManager::getLocalTexture(raw.get(), false); mWaterTexturep->dontDiscard(); gGL.getTexUnit(0)->bind(mWaterTexturep); mWaterTexturep->setAddressMode(LLTexUnit::TAM_CLAMP); @@ -643,17 +643,18 @@ void LLSurface::updatePatchVisibilities(LLAgent &agent) } } -BOOL LLSurface::idleUpdate(F32 max_update_time) +template<bool PBR> +bool LLSurface::idleUpdate(F32 max_update_time) { if (!gPipeline.hasRenderType(LLPipeline::RENDER_TYPE_TERRAIN)) { - return FALSE; + return false; } // Perform idle time update of non-critical stuff. // In this case, texture and normal updates. LLTimer update_timer; - BOOL did_update = FALSE; + bool did_update = false; // If the Z height data has changed, we need to rebuild our // property line vertex arrays. @@ -669,13 +670,13 @@ BOOL LLSurface::idleUpdate(F32 max_update_time) { std::set<LLSurfacePatch *>::iterator curiter = iter++; LLSurfacePatch *patchp = *curiter; - patchp->updateNormals(); + patchp->updateNormals<PBR>(); patchp->updateVerticalStats(); if (max_update_time == 0.f || update_timer.getElapsedTimeF32() < max_update_time) { if (patchp->updateTexture()) { - did_update = TRUE; + did_update = true; patchp->clearDirty(); mDirtyPatchList.erase(curiter); } @@ -691,7 +692,10 @@ BOOL LLSurface::idleUpdate(F32 max_update_time) return did_update; } -void LLSurface::decompressDCTPatch(LLBitPack &bitpack, LLGroupHeader *gopp, BOOL b_large_patch) +template bool LLSurface::idleUpdate</*PBR=*/false>(F32 max_update_time); +template bool LLSurface::idleUpdate</*PBR=*/true>(F32 max_update_time); + +void LLSurface::decompressDCTPatch(LLBitPack &bitpack, LLGroupHeader *gopp, bool b_large_patch) { LLPatchHeader ph; @@ -758,16 +762,16 @@ void LLSurface::decompressDCTPatch(LLBitPack &bitpack, LLGroupHeader *gopp, BOOL } -// Retrurns TRUE if "position" is within the bounds of surface. +// Retrurns true if "position" is within the bounds of surface. // "position" is region-local -BOOL LLSurface::containsPosition(const LLVector3 &position) +bool LLSurface::containsPosition(const LLVector3 &position) { if (position.mV[VX] < 0.0f || position.mV[VX] > mMetersPerEdge || position.mV[VY] < 0.0f || position.mV[VY] > mMetersPerEdge) { - return FALSE; + return false; } - return TRUE; + return true; } @@ -1030,8 +1034,8 @@ void LLSurface::createPatchData() for (i=0; i<mPatchesPerEdge; i++) { patchp = getPatch(i, j); - patchp->mHasReceivedData = FALSE; - patchp->mSTexUpdate = TRUE; + patchp->mHasReceivedData = false; + patchp->mSTexUpdate = true; S32 data_offset = i * mGridsPerPatchEdge + j * mGridsPerPatchEdge * mGridsPerEdge; @@ -1218,13 +1222,13 @@ F32 LLSurface::getWaterHeight() const } -BOOL LLSurface::generateWaterTexture(const F32 x, const F32 y, +bool LLSurface::generateWaterTexture(const F32 x, const F32 y, const F32 width, const F32 height) { LL_PROFILE_ZONE_SCOPED if (!getWaterTexture()) { - return FALSE; + return false; } S32 tex_width = mWaterTexturep->getWidth(); @@ -1310,5 +1314,5 @@ BOOL LLSurface::generateWaterTexture(const F32 x, const F32 y, } mWaterTexturep->setSubImage(raw, x_begin, y_begin, x_end - x_begin, y_end - y_begin); - return TRUE; + return true; } |