#include <lldrawpoolbump.h>
Public Member Functions | |
virtual U32 | getVertexDataMask () |
LLDrawPoolBump () | |
virtual void | render (S32 pass=0) |
virtual void | beginRenderPass (S32 pass) |
virtual void | endRenderPass (S32 pass) |
virtual S32 | getNumPasses () |
void | prerender () |
void | pushBatch (LLDrawInfo ¶ms, U32 mask, BOOL texture) |
void | renderBump (U32 type, U32 mask) |
void | renderGroup (LLSpatialGroup *group, U32 type, U32 mask, BOOL texture) |
void | renderGroupBump (LLSpatialGroup *group, U32 type, U32 mask) |
S32 | numBumpPasses () |
void | beginShiny (bool invisible=false) |
void | renderShiny (bool invisible=false) |
void | endShiny (bool invisible=false) |
void | beginFullbrightShiny () |
void | renderFullbrightShiny () |
void | endFullbrightShiny () |
void | beginBump () |
void | renderBump () |
void | endBump () |
BOOL | bindBumpMap (LLDrawInfo ¶ms) |
Public Attributes | |
BOOL | mShiny |
Static Public Attributes | |
static U32 | sVertexMask = VERTEX_MASK_SHINY |
Protected Member Functions | |
LLDrawPoolBump (const U32 type) |
Definition at line 44 of file lldrawpoolbump.h.
LLDrawPoolBump::LLDrawPoolBump | ( | const U32 | type | ) | [inline, protected] |
LLDrawPoolBump::LLDrawPoolBump | ( | ) |
virtual U32 LLDrawPoolBump::getVertexDataMask | ( | ) | [inline, virtual] |
Implements LLDrawPool.
Reimplemented in LLDrawPoolInvisible.
Definition at line 52 of file lldrawpoolbump.h.
References sVertexMask.
void LLDrawPoolBump::render | ( | S32 | pass = 0 |
) | [virtual] |
Implements LLDrawPool.
Reimplemented in LLDrawPoolInvisible.
Definition at line 246 of file lldrawpoolbump.cpp.
References LLFastTimer::FTM_RENDER_BUMP, gPipeline, LLPipeline::hasRenderType(), llassert, LLDrawPool::mVertexShaderLevel, LLDrawPool::POOL_SIMPLE, renderBump(), renderFullbrightShiny(), and renderShiny().
void LLDrawPoolBump::beginRenderPass | ( | S32 | pass | ) | [virtual] |
Reimplemented from LLDrawPool.
Reimplemented in LLDrawPoolInvisible.
Definition at line 219 of file lldrawpoolbump.cpp.
References beginBump(), beginFullbrightShiny(), beginShiny(), LLFastTimer::FTM_RENDER_BUMP, llassert, and LLDrawPool::mVertexShaderLevel.
void LLDrawPoolBump::endRenderPass | ( | S32 | pass | ) | [virtual] |
Reimplemented from LLDrawPool.
Reimplemented in LLDrawPoolInvisible.
Definition at line 279 of file lldrawpoolbump.cpp.
References endBump(), endFullbrightShiny(), endShiny(), LLFastTimer::FTM_RENDER_BUMP, llassert, and LLDrawPool::mVertexShaderLevel.
S32 LLDrawPoolBump::getNumPasses | ( | ) | [virtual] |
Reimplemented from LLDrawPool.
Reimplemented in LLDrawPoolInvisible.
Definition at line 214 of file lldrawpoolbump.cpp.
References numBumpPasses().
void LLDrawPoolBump::prerender | ( | ) | [virtual] |
Implements LLDrawPool.
Reimplemented in LLDrawPoolInvisible.
Definition at line 178 of file lldrawpoolbump.cpp.
References LLShaderMgr::getVertexShaderLevel(), LLDrawPool::mVertexShaderLevel, and LLShaderMgr::SHADER_OBJECT.
void LLDrawPoolBump::pushBatch | ( | LLDrawInfo & | params, | |
U32 | mask, | |||
BOOL | texture | |||
) | [virtual] |
Reimplemented from LLRenderPass.
Definition at line 1096 of file lldrawpoolbump.cpp.
References LLPipeline::addTrianglesDrawn(), LLRenderPass::applyModelMatrix(), LLCubeMap::bind(), cube_channel, diffuse_channel, LLCubeMap::enableTexture(), LLPipeline::findReflectionMap(), LLMatrix4::getTranslation(), gPipeline, LLDrawInfo::mCount, LLDrawInfo::mEnd, LLMatrix4::mMatrix, LLDrawInfo::mModelMatrix, LLDrawInfo::mOffset, LLDrawInfo::mReflectionMap, mShiny, LLDrawInfo::mStart, LLDrawInfo::mTexture, LLDrawInfo::mTextureMatrix, LLPipeline::mTextureMatrixOps, LLDrawInfo::mVertexBuffer, LLDrawPool::mVertexShaderLevel, LLDrawInfo::mVSize, LLPointer< Type >::notNull(), LLPipeline::sDynamicReflections, LLVertexBuffer::TRIANGLES, and LLImageGL::unbindTexture().
Referenced by renderBump(), and renderGroupBump().
Definition at line 1065 of file lldrawpoolbump.cpp.
References LLPipeline::beginRenderMap(), bindBumpMap(), LLPipeline::endRenderMap(), FALSE, gPipeline, i, and pushBatch().
void LLDrawPoolBump::renderGroup | ( | LLSpatialGroup * | group, | |
U32 | type, | |||
U32 | mask, | |||
BOOL | texture = TRUE | |||
) | [virtual] |
Reimplemented from LLRenderPass.
Definition at line 559 of file lldrawpoolbump.cpp.
References LLPipeline::addTrianglesDrawn(), LLRenderPass::applyModelMatrix(), LLPipeline::findReflectionMap(), LLMatrix4::getTranslation(), gPipeline, gSky, LLDrawInfo::mCount, LLSpatialGroup::mDrawMap, LLDrawInfo::mEnd, LLDrawInfo::mModelMatrix, LLDrawInfo::mOffset, LLDrawInfo::mReflectionMap, LLDrawInfo::mStart, LLDrawInfo::mVertexBuffer, LLSky::mVOSkyp, LLPointer< Type >::notNull(), LLPipeline::sDynamicReflections, and LLVertexBuffer::TRIANGLES.
void LLDrawPoolBump::renderGroupBump | ( | LLSpatialGroup * | group, | |
U32 | type, | |||
U32 | mask | |||
) |
Definition at line 1081 of file lldrawpoolbump.cpp.
References bindBumpMap(), FALSE, LLSpatialGroup::mDrawMap, and pushBatch().
S32 LLDrawPoolBump::numBumpPasses | ( | ) |
Definition at line 184 of file lldrawpoolbump.cpp.
References LLControlGroup::getBOOL(), gSavedSettings, LLDrawPool::mVertexShaderLevel, and LLPipeline::sImpostorRender.
Referenced by getNumPasses().
void LLDrawPoolBump::beginShiny | ( | bool | invisible = false |
) |
Definition at line 307 of file lldrawpoolbump.cpp.
References LLCubeMap::bind(), LLGLSLShader::bind(), cube_channel, diffuse_channel, LLShaderMgr::DIFFUSE_MAP, LLCubeMap::enable(), LLCubeMap::enableTexture(), LLGLSLShader::enableTexture(), LLCubeMap::enableTextureCoords(), LLShaderMgr::ENVIRONMENT_MAP, LLFastTimer::FTM_RENDER_SHINY, LLShaderMgr::getVertexShaderLevel(), gGLModelView, gObjectShinyProgram, gObjectShinyWaterProgram, gPipeline, gShinyOrigin, gSky, LLPipeline::hasRenderBatches(), LLMatrix4::initRows(), LLVertexBuffer::MAP_TEXCOORD, mShiny, LLVector4::mV, LLDrawPool::mVertexShaderLevel, LLSky::mVOSkyp, NULL, LLRenderPass::PASS_INVISI_SHINY, LLRenderPass::PASS_SHINY, LLCubeMap::setMatrix(), LLShaderMgr::SHADER_OBJECT, LLShaderMgr::SHINY_ORIGIN, LLPipeline::sUnderWaterRender, sVertexMask, TRUE, LLGLSLShader::uniform4fv(), and VERTEX_MASK_SHINY.
Referenced by beginRenderPass(), and LLDrawPoolInvisible::render().
void LLDrawPoolBump::renderShiny | ( | bool | invisible = false |
) |
Definition at line 389 of file lldrawpoolbump.cpp.
References LLFastTimer::FTM_RENDER_SHINY, gPipeline, gSky, LLPipeline::hasRenderBatches(), LLDrawPool::mVertexShaderLevel, LLSky::mVOSkyp, NULL, LLRenderPass::PASS_INVISI_SHINY, LLRenderPass::PASS_SHINY, LLRenderPass::renderGroups(), LLRenderPass::renderTexture(), and sVertexMask.
Referenced by LLDrawPoolInvisible::render(), and render().
void LLDrawPoolBump::endShiny | ( | bool | invisible = false |
) |
Definition at line 418 of file lldrawpoolbump.cpp.
References cube_channel, diffuse_channel, LLShaderMgr::DIFFUSE_MAP, LLCubeMap::disable(), LLGLSLShader::disableTexture(), LLShaderMgr::ENVIRONMENT_MAP, FALSE, LLFastTimer::FTM_RENDER_SHINY, LLShaderMgr::getVertexShaderLevel(), gPipeline, gSky, LLPipeline::hasRenderBatches(), mShiny, LLDrawPool::mVertexShaderLevel, LLSky::mVOSkyp, NULL, LLRenderPass::PASS_INVISI_SHINY, LLRenderPass::PASS_SHINY, LLCubeMap::restoreMatrix(), LLShaderMgr::SHADER_OBJECT, LLGLSLShader::unbind(), and LLImageGL::unbindTexture().
Referenced by endRenderPass(), and LLDrawPoolInvisible::render().
void LLDrawPoolBump::beginFullbrightShiny | ( | ) |
Definition at line 461 of file lldrawpoolbump.cpp.
References LLCubeMap::bind(), LLGLSLShader::bind(), cube_channel, diffuse_channel, LLShaderMgr::DIFFUSE_MAP, LLCubeMap::enableTexture(), LLGLSLShader::enableTexture(), LLCubeMap::enableTextureCoords(), LLShaderMgr::ENVIRONMENT_MAP, LLFastTimer::FTM_RENDER_SHINY, gGLModelView, gObjectFullbrightShinyProgram, gObjectShinyWaterProgram, gPipeline, gShinyOrigin, gSky, LLPipeline::hasRenderBatches(), LLMatrix4::initRows(), LLVertexBuffer::MAP_TEXCOORD, mShiny, LLVector4::mV, LLSky::mVOSkyp, NULL, LLRenderPass::PASS_FULLBRIGHT_SHINY, LLCubeMap::setMatrix(), LLShaderMgr::SHINY_ORIGIN, LLPipeline::sUnderWaterRender, sVertexMask, TRUE, LLGLSLShader::uniform4fv(), and VERTEX_MASK_SHINY.
Referenced by beginRenderPass().
void LLDrawPoolBump::renderFullbrightShiny | ( | ) |
Definition at line 508 of file lldrawpoolbump.cpp.
References LLFastTimer::FTM_RENDER_SHINY, gPipeline, gSky, LLPipeline::hasRenderBatches(), LLSky::mVOSkyp, NULL, LLRenderPass::PASS_FULLBRIGHT_SHINY, LLRenderPass::renderTexture(), and sVertexMask.
Referenced by render().
void LLDrawPoolBump::endFullbrightShiny | ( | ) |
Definition at line 525 of file lldrawpoolbump.cpp.
References cube_channel, diffuse_channel, LLShaderMgr::DIFFUSE_MAP, LLCubeMap::disable(), LLGLSLShader::disableTexture(), FALSE, LLFastTimer::FTM_RENDER_SHINY, gPipeline, gSky, LLPipeline::hasRenderBatches(), mShiny, LLSky::mVOSkyp, NULL, LLRenderPass::PASS_FULLBRIGHT_SHINY, LLCubeMap::restoreMatrix(), LLGLSLShader::unbind(), and LLImageGL::unbindTexture().
Referenced by endRenderPass().
void LLDrawPoolBump::beginBump | ( | ) |
Definition at line 639 of file lldrawpoolbump.cpp.
References LLGLImmediate::blendFunc(), LLFastTimer::FTM_RENDER_BUMP, gGL, gPipeline, LLPipeline::hasRenderBatches(), LLRenderPass::PASS_BUMP, stop_glerror, sVertexMask, LLImageGL::unbindTexture(), and VERTEX_MASK_BUMP.
Referenced by beginRenderPass().
void LLDrawPoolBump::renderBump | ( | ) |
Get rid of z-fighting with non-bump pass.
Definition at line 704 of file lldrawpoolbump.cpp.
References LLFastTimer::FTM_RENDER_BUMP, gPipeline, LLPipeline::hasRenderBatches(), LLRenderPass::PASS_BUMP, and sVertexMask.
Referenced by render().
void LLDrawPoolBump::endBump | ( | ) |
Definition at line 723 of file lldrawpoolbump.cpp.
References LLGLImmediate::blendFunc(), gGL, gPipeline, LLPipeline::hasRenderBatches(), and LLRenderPass::PASS_BUMP.
Referenced by endRenderPass().
BOOL LLDrawPoolBump::bindBumpMap | ( | LLDrawInfo & | params | ) |
Definition at line 600 of file lldrawpoolbump.cpp.
References LLBumpImageList::addTextureStats(), BE_BRIGHTNESS, BE_DARKNESS, BE_NO_BUMP, LLImageGL::bind(), FALSE, LLBumpImageList::getBrightnessDarknessImage(), LLViewerImage::getID(), LLDrawInfo::mBump, LLStandardBumpmap::mImage, LLDrawInfo::mTexture, LLDrawInfo::mVSize, NULL, LLStandardBumpmap::sStandardBumpmapCount, and TRUE.
Referenced by renderBump(), and renderGroupBump().
U32 LLDrawPoolBump::sVertexMask = VERTEX_MASK_SHINY [static] |
Definition at line 49 of file lldrawpoolbump.h.
Referenced by beginBump(), beginFullbrightShiny(), beginShiny(), getVertexDataMask(), renderBump(), renderFullbrightShiny(), and renderShiny().
Definition at line 50 of file lldrawpoolbump.h.
Referenced by beginFullbrightShiny(), beginShiny(), endFullbrightShiny(), endShiny(), LLDrawPoolBump(), and pushBatch().