#include <lldrawpoolwater.h>
Public Types | |
enum | { VERTEX_DATA_MASK } |
Public Member Functions | |
virtual U32 | getVertexDataMask () |
LLDrawPoolWater () | |
~LLDrawPoolWater () | |
LLDrawPool * | instancePool () |
S32 | getNumPasses () |
void | render (S32 pass=0) |
void | renderFaceSelected (LLFace *facep, LLImageGL *image, const LLColor4 &color, const S32 index_offset=0, const S32 index_count=0) |
void | prerender () |
void | renderForSelect () |
LLViewerImage * | getDebugTexture () |
LLColor3 | getDebugColor () const |
void | renderReflection (LLFace *face) |
void | shade () |
Static Public Member Functions | |
static void | restoreGL () |
Static Public Attributes | |
static BOOL | sSkipScreenCopy = FALSE |
static BOOL | sNeedsReflectionUpdate = TRUE |
static BOOL | sNeedsDistortionUpdate = TRUE |
static LLVector3 | sLightDir |
static LLColor4 | sWaterFogColor = LLColor4(0.2f, 0.5f, 0.5f, 0.f) |
Protected Attributes | |
LLPointer< LLViewerImage > | mHBTex [2] |
LLPointer< LLViewerImage > | mWaterImagep |
LLPointer< LLViewerImage > | mWaterNormp |
const LLWaterSurface * | mWaterSurface |
Definition at line 42 of file lldrawpoolwater.h.
anonymous enum |
LLDrawPoolWater::LLDrawPoolWater | ( | ) |
Definition at line 66 of file lldrawpoolwater.cpp.
References DEFAULT_WATER_NORMAL, LLViewerImageList::getImage(), gImageList, gMoonTextureID, gSunTextureID, mHBTex, mWaterImagep, mWaterNormp, restoreGL(), TRUE, and WATER_TEST.
LLDrawPoolWater::~LLDrawPoolWater | ( | ) |
Definition at line 83 of file lldrawpoolwater.cpp.
virtual U32 LLDrawPoolWater::getVertexDataMask | ( | ) | [inline, virtual] |
Implements LLDrawPool.
Definition at line 65 of file lldrawpoolwater.h.
References VERTEX_DATA_MASK.
LLDrawPool * LLDrawPoolWater::instancePool | ( | ) | [virtual] |
void LLDrawPoolWater::restoreGL | ( | ) | [static] |
Definition at line 88 of file lldrawpoolwater.cpp.
Referenced by LLDrawPoolWater(), and LLViewerWindow::restoreGL().
S32 LLDrawPoolWater::getNumPasses | ( | ) | [virtual] |
Reimplemented from LLDrawPool.
Definition at line 112 of file lldrawpoolwater.cpp.
References LLSingleton< LLViewerCamera >::getInstance().
void LLDrawPoolWater::render | ( | S32 | pass = 0 |
) | [virtual] |
Implements LLDrawPool.
Definition at line 122 of file lldrawpoolwater.cpp.
References LLFace::bindTexture(), LLPipeline::disableLights(), LLFastTimer::FTM_RENDER_WATER, LLDrawable::getCurrentFrame(), LLFace::getGeomCount(), LLSingleton< LLViewerCamera >::getInstance(), LLMatrix4::getMat3(), LLViewerCamera::getModelview(), LLVOSky::getReflFace(), LLCoordFrame::getUpAxis(), gFrameTimeSeconds, gGLManager, gPipeline, gSky, LLMatrix4::invert(), LLVOSky::isReflFace(), LLFace::mCenterLocal, LLFace::mDistance, LLFacePool::mDrawFace, LLGLManager::mHasMultitexture, LLColor4::mV, LLVector3::mV, LLDrawPool::mVertexShaderLevel, LLSky::mVOSkyp, mWaterImagep, LLFace::renderIndexed(), renderReflection(), LLColor4::setVec(), shade(), sSkipScreenCopy, stop_glerror, LLImageGL::unbindTexture(), and LLVector3::z_axis.
void LLDrawPoolWater::prerender | ( | ) | [virtual] |
Implements LLDrawPool.
Definition at line 100 of file lldrawpoolwater.cpp.
References LLWaterParamManager::getFogColor(), LLSingleton< LLFeatureManager >::getInstance(), LLShaderMgr::getVertexShaderLevel(), gGLManager, LLWaterParamManager::instance(), LLFeatureList::isFeatureAvailable(), LLGLManager::mHasCubeMap, LLColor4::mV, LLDrawPool::mVertexShaderLevel, LLShaderMgr::SHADER_WATER, and sWaterFogColor.
void LLDrawPoolWater::renderForSelect | ( | ) | [virtual] |
LLViewerImage * LLDrawPoolWater::getDebugTexture | ( | ) | [virtual] |
Reimplemented from LLDrawPool.
Definition at line 574 of file lldrawpoolwater.cpp.
References LLViewerImage::sSmokeImagep.
LLColor3 LLDrawPoolWater::getDebugColor | ( | ) | const |
Definition at line 579 of file lldrawpoolwater.cpp.
void LLDrawPoolWater::renderReflection | ( | LLFace * | face | ) |
Definition at line 304 of file lldrawpoolwater.cpp.
References LLViewerImage::bindTexture(), LLVOSky::getDrawRefl(), LLFace::getFaceColor(), LLFace::getGeomCount(), gSky, mHBTex, LLColor4::mV, LLSky::mVOSkyp, and LLFace::renderIndexed().
Referenced by render().
void LLDrawPoolWater::shade | ( | ) |
Definition at line 332 of file lldrawpoolwater.cpp.
References LLGLSLShader::bind(), LLFace::bindTexture(), LLRenderTarget::bindTexture(), LLShaderMgr::BUMP_MAP, LLShaderMgr::DIFFUSE_MAP, LLGLSLShader::disableTexture(), LLGLSLShader::enableTexture(), LLShaderMgr::ENVIRONMENT_MAP, gAgent, LLWaterParamManager::getBlurMultiplier(), LLControlGroup::getBOOL(), LLFrameTimer::getElapsedSeconds(), LLWaterParamManager::getFogDensity(), LLWaterParamManager::getFresnelOffset(), LLWaterParamManager::getFresnelScale(), LLViewerImageList::getImage(), LLSingleton< LLViewerCamera >::getInstance(), LLVOWater::getIsEdgePatch(), LLSky::getMoonDiffuseColor(), LLSky::getMoonDirection(), LLWaterParamManager::getNormalMapID(), LLWaterParamManager::getNormalScale(), LLCoordFrame::getOrigin(), LLAgent::getRegion(), LLWaterParamManager::getScaleAbove(), LLWaterParamManager::getScaleBelow(), LLSky::getSunDiffuseColor(), LLSky::getSunDirection(), LLCoordFrame::getUpAxis(), LLVOWater::getUseTexture(), LLFace::getViewerObject(), LLViewerRegion::getWaterHeight(), LLWaterParamManager::getWave1Dir(), LLWaterParamManager::getWave2Dir(), gGLViewport, gImageList, glh_get_current_projection(), gPipeline, gSavedSettings, gSky, gUnderWaterProgram, gWaterProgram, LLWaterParamManager::instance(), LLVOSky::isReflFace(), llmax(), LLWaterParamManager::mDensitySliderValue, LLFacePool::mDrawFace, LLVector2::mV, LLColor3::mV, LLColor4::mV, LLVector3::mV, LLDrawPool::mVertexShaderLevel, LLSky::mVOSkyp, LLPipeline::mWaterDis, mWaterNormp, LLPipeline::mWaterRef, NIGHTTIME_ELEVATION_COS, LLColor3::normVec(), LLVector3::normVec(), NULL, LLFace::renderIndexed(), S32, LLColor4::setVec(), shader, sLightDir, sNeedsDistortionUpdate, sNeedsReflectionUpdate, sTime, stop_glerror, sWaterFogColor, LLPipeline::sWaterReflections, TRUE, LLGLSLShader::unbind(), LLGLSLShader::uniform1f(), LLGLSLShader::uniform2fv(), LLGLSLShader::uniform3fv(), LLGLSLShader::uniform4fv(), LLShaderMgr::WATER_EYEVEC, LLShaderMgr::WATER_FOGCOLOR, LLShaderMgr::WATER_FOGDENSITY, LLShaderMgr::WATER_LIGHT_DIR, LLShaderMgr::WATER_REFSCALE, LLShaderMgr::WATER_REFTEX, LLShaderMgr::WATER_SCREENDEPTH, LLShaderMgr::WATER_SCREENTEX, LLShaderMgr::WATER_SPECULAR, LLShaderMgr::WATER_SPECULAR_EXP, LLShaderMgr::WATER_TIME, LLShaderMgr::WATER_WATERHEIGHT, LLShaderMgr::WATER_WAVE_DIR1, LLShaderMgr::WATER_WAVE_DIR2, and LLVector3::z_axis.
Referenced by render().
LLPointer<LLViewerImage> LLDrawPoolWater::mHBTex[2] [protected] |
Definition at line 45 of file lldrawpoolwater.h.
Referenced by LLDrawPoolWater(), and renderReflection().
LLPointer<LLViewerImage> LLDrawPoolWater::mWaterImagep [protected] |
LLPointer<LLViewerImage> LLDrawPoolWater::mWaterNormp [protected] |
const LLWaterSurface* LLDrawPoolWater::mWaterSurface [protected] |
Definition at line 49 of file lldrawpoolwater.h.
BOOL LLDrawPoolWater::sSkipScreenCopy = FALSE [static] |
Definition at line 51 of file lldrawpoolwater.h.
Referenced by LLPipeline::generateReflectionMap(), render(), and LLDrawPoolAlpha::render().
BOOL LLDrawPoolWater::sNeedsReflectionUpdate = TRUE [static] |
Definition at line 52 of file lldrawpoolwater.h.
Referenced by LLPipeline::generateWaterReflection(), and shade().
BOOL LLDrawPoolWater::sNeedsDistortionUpdate = TRUE [static] |
Definition at line 53 of file lldrawpoolwater.h.
Referenced by LLPipeline::generateWaterReflection(), and shade().
LLVector3 LLDrawPoolWater::sLightDir [static] |
LLColor4 LLDrawPoolWater::sWaterFogColor = LLColor4(0.2f, 0.5f, 0.5f, 0.f) [static] |
Definition at line 56 of file lldrawpoolwater.h.
Referenced by LLPipeline::generateWaterReflection(), prerender(), shade(), LLVOSky::updateFog(), and LLWaterParamManager::updateShaderUniforms().