#include <lldrawpoolalpha.h>
Public Types | |
enum | { VERTEX_DATA_MASK } |
Public Member Functions | |
virtual U32 | getVertexDataMask () |
LLDrawPoolAlpha (U32 type=LLDrawPool::POOL_ALPHA) | |
~LLDrawPoolAlpha () | |
void | beginRenderPass (S32 pass=0) |
void | endRenderPass (S32 pass) |
S32 | getNumPasses () |
virtual void | render (S32 pass=0) |
void | prerender () |
void | renderGroupAlpha (LLSpatialGroup *group, U32 type, U32 mask, BOOL texture=TRUE) |
void | renderAlpha (U32 mask) |
void | renderAlphaHighlight (U32 mask) |
Static Public Attributes | |
static BOOL | sShowDebugAlpha = FALSE |
Private Attributes | |
LLGLSLShader * | current_shader |
LLGLSLShader * | target_shader |
LLGLSLShader * | simple_shader |
LLGLSLShader * | fullbright_shader |
Definition at line 42 of file lldrawpoolalpha.h.
anonymous enum |
LLDrawPoolAlpha::LLDrawPoolAlpha | ( | U32 | type = LLDrawPool::POOL_ALPHA |
) |
Definition at line 60 of file lldrawpoolalpha.cpp.
LLDrawPoolAlpha::~LLDrawPoolAlpha | ( | ) |
Definition at line 67 of file lldrawpoolalpha.cpp.
virtual U32 LLDrawPoolAlpha::getVertexDataMask | ( | ) | [inline, virtual] |
Implements LLDrawPool.
Definition at line 52 of file lldrawpoolalpha.h.
References VERTEX_DATA_MASK.
Referenced by render().
void LLDrawPoolAlpha::beginRenderPass | ( | S32 | pass = 0 |
) | [virtual] |
Reimplemented from LLDrawPool.
Definition at line 77 of file lldrawpoolalpha.cpp.
References current_shader, LLPipeline::enableLightsDynamic(), LLFastTimer::FTM_RENDER_ALPHA, fullbright_shader, gObjectFullbrightProgram, gObjectFullbrightWaterProgram, gObjectSimpleProgram, gObjectSimpleWaterProgram, gPipeline, LLDrawPool::mVertexShaderLevel, NULL, simple_shader, LLPipeline::sUnderWaterRender, and target_shader.
void LLDrawPoolAlpha::endRenderPass | ( | S32 | pass | ) | [virtual] |
Reimplemented from LLDrawPool.
Definition at line 101 of file lldrawpoolalpha.cpp.
References LLPipeline::canUseWindLightShaders(), LLDrawPool::endRenderPass(), LLFastTimer::FTM_RENDER_ALPHA, and gPipeline.
S32 LLDrawPoolAlpha::getNumPasses | ( | ) | [inline, virtual] |
void LLDrawPoolAlpha::render | ( | S32 | pass = 0 |
) | [virtual] |
Implements LLDrawPool.
Reimplemented in LLDrawPoolAlphaPostWater.
Definition at line 112 of file lldrawpoolalpha.cpp.
References LLPipeline::canUseWindLightShaders(), LLPipeline::enableLightsFullbright(), LLFastTimer::FTM_RENDER_ALPHA, getVertexDataMask(), gPipeline, LLVertexBuffer::MAP_TEXCOORD, LLVertexBuffer::MAP_VERTEX, renderAlpha(), renderAlphaHighlight(), sShowDebugAlpha, LLDrawPoolWater::sSkipScreenCopy, and LLViewerImage::sSmokeImagep.
void LLDrawPoolAlpha::prerender | ( | ) | [virtual] |
Implements LLDrawPool.
Definition at line 72 of file lldrawpoolalpha.cpp.
References LLShaderMgr::getVertexShaderLevel(), LLDrawPool::mVertexShaderLevel, and LLShaderMgr::SHADER_OBJECT.
void LLDrawPoolAlpha::renderGroupAlpha | ( | LLSpatialGroup * | group, | |
U32 | type, | |||
U32 | mask, | |||
BOOL | texture = TRUE | |||
) |
Definition at line 179 of file lldrawpoolalpha.cpp.
References LLPipeline::addTrianglesDrawn(), LLRenderPass::applyModelMatrix(), LLGLSLShader::bind(), LLPipeline::canUseVertexShaders(), LLPipeline::canUseWindLightShadersOnObjects(), current_shader, LLPipeline::enableLightsDynamic(), LLPipeline::enableLightsFullbright(), FALSE, fullbright_shader, LLControlGroup::getBOOL(), LLControlGroup::getF32(), LLSingleton< LLViewerCamera >::getInstance(), gPipeline, gSavedSettings, llassert, LLDrawInfo::mCount, LLSpatialGroup::mDistance, LLSpatialPartition::mDrawableType, LLSpatialGroup::mDrawMap, LLDrawInfo::mEnd, LLDrawInfo::mFullbright, LLMatrix4::mMatrix, LLDrawInfo::mOffset, LLSpatialGroup::mSpatialPartition, LLDrawInfo::mStart, LLDrawInfo::mTexture, LLDrawInfo::mTextureMatrix, LLPipeline::mTextureMatrixOps, LLDrawInfo::mVertexBuffer, LLDrawInfo::mVSize, LLPointer< Type >::notNull(), NULL, LLPipeline::RENDER_TYPE_CLOUDS, LLPipeline::RENDER_TYPE_PARTICLES, simple_shader, LLPipeline::sImpostorRender, LLPipeline::sUnderWaterRender, target_shader, LLVertexBuffer::TRIANGLES, and TRUE.
Referenced by renderAlpha().
void LLDrawPoolAlpha::renderAlpha | ( | U32 | mask | ) |
Definition at line 137 of file lldrawpoolalpha.cpp.
References LLPipeline::beginAlphaGroups(), LLPipeline::endAlphaGroups(), gPipeline, i, LLSpatialGroup::isDead(), LLSpatialPartition::mRenderByGroup, LLSpatialGroup::mSpatialPartition, LLRenderPass::PASS_ALPHA, renderGroupAlpha(), and TRUE.
Referenced by render().
void LLDrawPoolAlpha::renderAlphaHighlight | ( | U32 | mask | ) |
Definition at line 150 of file lldrawpoolalpha.cpp.
References LLPipeline::addTrianglesDrawn(), LLRenderPass::applyModelMatrix(), LLPipeline::beginAlphaGroups(), LLPipeline::endAlphaGroups(), gPipeline, i, LLSpatialGroup::isDead(), LLDrawInfo::mCount, LLSpatialGroup::mDrawMap, LLDrawInfo::mEnd, LLDrawInfo::mOffset, LLDrawInfo::mParticle, LLSpatialPartition::mRenderByGroup, LLSpatialGroup::mSpatialPartition, LLDrawInfo::mStart, LLDrawInfo::mVertexBuffer, LLRenderPass::PASS_ALPHA, and LLVertexBuffer::TRIANGLES.
Referenced by render().
BOOL LLDrawPoolAlpha::sShowDebugAlpha = FALSE [static] |
Definition at line 68 of file lldrawpoolalpha.h.
Referenced by LLViewCheckHighlightTransparent::handleEvent(), LLViewHighlightTransparent::handleEvent(), LLViewerWindow::hitObjectOrLandGlobalAsync(), and render().
LLGLSLShader* LLDrawPoolAlpha::current_shader [private] |
Definition at line 71 of file lldrawpoolalpha.h.
Referenced by beginRenderPass(), and renderGroupAlpha().
LLGLSLShader* LLDrawPoolAlpha::target_shader [private] |
Definition at line 72 of file lldrawpoolalpha.h.
Referenced by beginRenderPass(), and renderGroupAlpha().
LLGLSLShader* LLDrawPoolAlpha::simple_shader [private] |
Definition at line 73 of file lldrawpoolalpha.h.
Referenced by beginRenderPass(), and renderGroupAlpha().
LLGLSLShader* LLDrawPoolAlpha::fullbright_shader [private] |
Definition at line 74 of file lldrawpoolalpha.h.
Referenced by beginRenderPass(), and renderGroupAlpha().