void LLSurface::initTextures() { /////////////////////// // // Main surface texture // createSTexture(); /////////////////////// // // Water texture // if (gSavedSettings.getBOOL("RenderWater") ) { createWaterTexture(); mWaterObjp = (LLVOWater *)gObjectList.createObjectViewer(LLViewerObject::LL_VO_WATER, mRegionp); gPipeline.createObject(mWaterObjp); LLVector3d water_pos_global = from_region_handle(mRegionp->getHandle()); // <FS:CR> Aurora Sim //water_pos_global += LLVector3d(128.0, 128.0, DEFAULT_WATER_HEIGHT); // region doesn't have a valid water height yet water_pos_global += LLVector3d(mRegionp->getWidth()/2, mRegionp->getWidth()/2, DEFAULT_WATER_HEIGHT); mWaterObjp->setPositionGlobal(water_pos_global); // </FS:CR> Aurora Sim } }
void LLCloudGroup::updatePuffs(const F32 dt) { mDensity = mCloudLayerp->getDensityRegion(mCenterRegion); if (!mVOCloudsp) { mVOCloudsp = (LLVOClouds *)gObjectList.createObjectViewer(LLViewerObject::LL_VO_CLOUDS, mCloudLayerp->getRegion()); if(mVOCloudsp) { mVOCloudsp->setCloudGroup(this); mVOCloudsp->setPositionRegion(mCenterRegion); mVOCloudsp->setScale(LLVector3(256.f/CLOUD_GROUPS_PER_EDGE + CLOUD_PUFF_WIDTH, 256.f/CLOUD_GROUPS_PER_EDGE + CLOUD_PUFF_WIDTH, CLOUD_HEIGHT_RANGE + CLOUD_PUFF_HEIGHT)*0.5f); gPipeline.createObject(mVOCloudsp); } } LLVector3 velocity; LLVector3d vel_d; // Update the positions of all of the clouds for (U32 i = 0; i < mCloudPuffs.size(); i++) { LLCloudPuff &puff = mCloudPuffs[i]; velocity = mCloudLayerp->getRegion()->mWind.getCloudVelocity(mCloudLayerp->getRegion()->getPosRegionFromGlobal(puff.mPositionGlobal)); velocity *= CLOUD_VELOCITY_SCALE*CLOUD_UPDATE_RATE; vel_d.setVec(velocity); mCloudPuffs[i].mPositionGlobal += vel_d; mCloudPuffs[i].mAlpha += mCloudPuffs[i].mRate * dt; mCloudPuffs[i].mAlpha = llmin(1.f, mCloudPuffs[i].mAlpha); mCloudPuffs[i].mAlpha = llmax(0.f, mCloudPuffs[i].mAlpha); } }
//static added one block for openregion ----- voodoo void LLSurface::rebuildWater() { //lldebugs << "Rebuilding Water..."; //BOOL renderwater = gSavedSettings.getBOOL("RenderWater") && LLWorld::getInstance()->getAllowRenderWater(); if(!mWaterObjp.isNull()) //if(prev_renderwater && !renderwater) { //lldebugs << "Removing Water"; //Remove the old gObjectList.killObject(mWaterObjp); } if (gSavedSettings.getBOOL("RenderWater") && gHippoLimits->mRenderWater) //if (!prev_renderwater && renderwater) { //lldebugs << "Building Water"; createWaterTexture(); mWaterObjp = (LLVOWater *)gObjectList.createObjectViewer(LLViewerObject::LL_VO_WATER, mRegionp); gPipeline.createObject(mWaterObjp); LLVector3d water_pos_global = from_region_handle(mRegionp->getHandle()); water_pos_global += LLVector3d(128.0, 128.0, DEFAULT_WATER_HEIGHT); //water_pos_global += LLVector3d(mRegionp->getWidth()/2, mRegionp->getWidth()/2, DEFAULT_WATER_HEIGHT); mWaterObjp->setPositionGlobal(water_pos_global); } //lldebugs << "Rebuilding Water Complete"; }
void LLSurfacePatch::setSurface(LLSurface *surfacep) { mSurfacep = surfacep; if (mVObjp == (LLVOSurfacePatch *)NULL) { llassert(mSurfacep->mType == 'l'); mVObjp = (LLVOSurfacePatch *)gObjectList.createObjectViewer(LLViewerObject::LL_VO_SURFACE_PATCH, mSurfacep->getRegion()); mVObjp->setPatch(this); mVObjp->setPositionRegion(mCenterRegion); gPipeline.createObject(mVObjp); } }
void LLSurface::rebuildWater() { BOOL renderwater = gSavedSettings.getBOOL("RenderWater") && LLWorld::getInstance()->getAllowRenderWater(); BOOL prev_renderwater = !mWaterObjp.isNull(); if(prev_renderwater && !renderwater) { gObjectList.killObject(mWaterObjp); } if (!prev_renderwater && renderwater) { createWaterTexture(); mWaterObjp = (LLVOWater *)gObjectList.createObjectViewer(LLViewerObject::LL_VO_WATER, mRegionp); gPipeline.createObject(mWaterObjp); LLVector3d water_pos_global = from_region_handle(mRegionp->getHandle()); water_pos_global += LLVector3d(mRegionp->getWidth()/2, mRegionp->getWidth()/2, DEFAULT_WATER_HEIGHT); mWaterObjp->setPositionGlobal(water_pos_global); } }
void LLSurface::initTextures() { /////////////////////// // // Main surface texture // createSTexture(); /////////////////////// // // Water texture // if (gSavedSettings.getBOOL("RenderWater") && LLWorld::getInstance()->getAllowRenderWater()) { createWaterTexture(); mWaterObjp = (LLVOWater *)gObjectList.createObjectViewer(LLViewerObject::LL_VO_WATER, mRegionp); gPipeline.createObject(mWaterObjp); LLVector3d water_pos_global = from_region_handle(mRegionp->getHandle()); water_pos_global += LLVector3d(mRegionp->getWidth()/2, mRegionp->getWidth()/2, DEFAULT_WATER_HEIGHT); mWaterObjp->setPositionGlobal(water_pos_global); } }