#include <lldrawpoolavatar.h>
Public Types | |
enum | { SHADER_LEVEL_BUMP = 2, SHADER_LEVEL_CLOTH = 3 } |
enum | { VERTEX_DATA_MASK } |
Public Member Functions | |
virtual U32 | getVertexDataMask () |
virtual S32 | getVertexShaderLevel () const |
LLDrawPoolAvatar () | |
LLDrawPool * | instancePool () |
S32 | getNumPasses () |
void | beginRenderPass (S32 pass) |
void | endRenderPass (S32 pass) |
void | prerender () |
void | render (S32 pass=0) |
void | renderForSelect () |
void | beginRigid () |
void | beginFootShadow () |
void | beginSkinned () |
void | endRigid () |
void | endFootShadow () |
void | endSkinned () |
LLViewerImage * | getDebugTexture () |
LLColor3 | getDebugColor () const |
void | renderAvatars (LLVOAvatar *single_avatar, S32 pass=-1) |
Static Public Member Functions | |
static LLMatrix4 & | getModelView () |
Protected Attributes | |
S32 | mNumFaces |
Definition at line 39 of file lldrawpoolavatar.h.
anonymous enum |
anonymous enum |
LLDrawPoolAvatar::LLDrawPoolAvatar | ( | ) |
Definition at line 90 of file lldrawpoolavatar.cpp.
Referenced by instancePool().
virtual U32 LLDrawPoolAvatar::getVertexDataMask | ( | ) | [inline, virtual] |
Implements LLDrawPool.
Definition at line 59 of file lldrawpoolavatar.h.
References VERTEX_DATA_MASK.
S32 LLDrawPoolAvatar::getVertexShaderLevel | ( | ) | const [virtual] |
Reimplemented from LLDrawPool.
Definition at line 107 of file lldrawpoolavatar.cpp.
References sShaderLevel.
LLMatrix4 & LLDrawPoolAvatar::getModelView | ( | ) | [static] |
Definition at line 128 of file lldrawpoolavatar.cpp.
References gGLModelView, and LLMatrix4::initRows().
Referenced by LLViewerJointMesh::uploadJointMatrices().
LLDrawPool * LLDrawPoolAvatar::instancePool | ( | ) | [virtual] |
Implements LLDrawPool.
Definition at line 100 of file lldrawpoolavatar.cpp.
References LLDrawPoolAvatar().
S32 LLDrawPoolAvatar::getNumPasses | ( | ) | [virtual] |
Reimplemented from LLDrawPool.
Definition at line 144 of file lldrawpoolavatar.cpp.
References LLPipeline::sImpostorRender.
Referenced by renderAvatars().
void LLDrawPoolAvatar::beginRenderPass | ( | S32 | pass | ) | [virtual] |
Reimplemented from LLDrawPool.
Definition at line 161 of file lldrawpoolavatar.cpp.
References beginFootShadow(), beginRigid(), beginSkinned(), LLFastTimer::FTM_RENDER_CHARACTERS, LLPipeline::sImpostorRender, and LLVertexBuffer::unbind().
Referenced by renderAvatars().
void LLDrawPoolAvatar::endRenderPass | ( | S32 | pass | ) | [virtual] |
Reimplemented from LLDrawPool.
Definition at line 187 of file lldrawpoolavatar.cpp.
References endFootShadow(), endRigid(), endSkinned(), LLFastTimer::FTM_RENDER_CHARACTERS, and LLPipeline::sImpostorRender.
Referenced by renderAvatars().
void LLDrawPoolAvatar::prerender | ( | ) | [virtual] |
Implements LLDrawPool.
Definition at line 113 of file lldrawpoolavatar.cpp.
References LLShaderMgr::getVertexShaderLevel(), LLDrawPool::mVertexShaderLevel, sBufferUsage, LLShaderMgr::SHADER_AVATAR, and sShaderLevel.
Referenced by renderAvatars().
void LLDrawPoolAvatar::render | ( | S32 | pass = 0 |
) | [virtual] |
Implements LLDrawPool.
Definition at line 149 of file lldrawpoolavatar.cpp.
References LLFastTimer::FTM_RENDER_CHARACTERS, NULL, renderAvatars(), and LLPipeline::sImpostorRender.
void LLDrawPoolAvatar::renderForSelect | ( | ) | [virtual] |
Implements LLFacePool.
Definition at line 567 of file lldrawpoolavatar.cpp.
References LLShaderMgr::AVATAR_MATRIX, AVATAR_RENDER_PASS_SINGLE, LLShaderMgr::AVATAR_WEIGHT, LLGLSLShader::bind(), LLGLImmediate::blendFunc(), disable_vertex_weighting(), enable_vertex_weighting(), FALSE, gAvatarMatrixParam, gAvatarPickProgram, LLPointer< Type >::get(), LLFace::getDrawable(), LLDrawable::getVObj(), gGL, gRenderAvatar, gUseGLPick, LLViewerObject::isDead(), LLVOAvatar::isImpostor(), LLPointer< Type >::isNull(), LLGLSLShader::mAttribute, LLViewerObject::mDrawable, LLFacePool::mDrawFace, LLVOAvatar::mIsDummy, LLGLSLShader::mUniform, LLColor4U::mV, LLVOAvatar::renderImpostor(), LLVOAvatar::renderSkinned(), S32, sRenderingSkinned, sShaderLevel, TRUE, and LLGLSLShader::unbind().
void LLDrawPoolAvatar::beginRigid | ( | ) |
Definition at line 226 of file lldrawpoolavatar.cpp.
References LLGLSLShader::bind(), LLPipeline::canUseVertexShaders(), gObjectSimpleProgram, gObjectSimpleWaterProgram, gPipeline, NULL, and LLPipeline::sUnderWaterRender.
Referenced by beginRenderPass().
void LLDrawPoolAvatar::beginFootShadow | ( | ) |
Definition at line 210 of file lldrawpoolavatar.cpp.
References LLPipeline::enableLightsFullbright(), gPipeline, llclamp(), LLVOAvatar::sNumVisibleAvatars, LLPipeline::sReflectionRender, and LLVOAvatar::sRenderDistance.
Referenced by beginRenderPass().
void LLDrawPoolAvatar::beginSkinned | ( | ) |
Definition at line 259 of file lldrawpoolavatar.cpp.
References LLShaderMgr::AVATAR_CLOTHING, LLShaderMgr::AVATAR_WEIGHT, LLGLSLShader::bind(), LLShaderMgr::BINORMAL, LLShaderMgr::BUMP_MAP, LLPipeline::canUseVertexShaders(), enable_binormals(), enable_cloth_weights(), enable_vertex_weighting(), LLGLSLShader::enableTexture(), gAvatarProgram, gAvatarWaterProgram, gObjectSimpleProgram, gObjectSimpleWaterProgram, gPipeline, llmin(), LLGLSLShader::mAttribute, SHADER_LEVEL_BUMP, SHADER_LEVEL_CLOTH, sRenderingSkinned, sShaderLevel, LLPipeline::sUnderWaterRender, and TRUE.
Referenced by beginRenderPass().
void LLDrawPoolAvatar::endRigid | ( | ) |
Definition at line 250 of file lldrawpoolavatar.cpp.
References LLDrawPool::mVertexShaderLevel, NULL, sShaderLevel, and LLGLSLShader::unbind().
Referenced by endRenderPass().
void LLDrawPoolAvatar::endFootShadow | ( | ) |
Definition at line 221 of file lldrawpoolavatar.cpp.
References LLPipeline::enableLightsDynamic(), and gPipeline.
Referenced by endRenderPass().
void LLDrawPoolAvatar::endSkinned | ( | ) |
Definition at line 315 of file lldrawpoolavatar.cpp.
References LLShaderMgr::AVATAR_CLOTHING, LLShaderMgr::AVATAR_WEIGHT, LLShaderMgr::BINORMAL, LLShaderMgr::BUMP_MAP, LLPipeline::canUseVertexShaders(), disable_binormals(), disable_cloth_weights(), disable_vertex_weighting(), LLGLSLShader::disableTexture(), FALSE, gPipeline, LLGLSLShader::mAttribute, LLDrawPool::mVertexShaderLevel, SHADER_LEVEL_BUMP, SHADER_LEVEL_CLOTH, sRenderingSkinned, sShaderLevel, and LLGLSLShader::unbind().
Referenced by endRenderPass().
LLViewerImage * LLDrawPoolAvatar::getDebugTexture | ( | ) | [virtual] |
Reimplemented from LLDrawPool.
Definition at line 658 of file lldrawpoolavatar.cpp.
References LLFace::getDrawable(), LLViewerObject::getTEImage(), LLDrawable::getVObj(), LLFacePool::mReferences, and NULL.
LLColor3 LLDrawPoolAvatar::getDebugColor | ( | ) | const |
Definition at line 676 of file lldrawpoolavatar.cpp.
void LLDrawPoolAvatar::renderAvatars | ( | LLVOAvatar * | single_avatar, | |
S32 | pass = -1 | |||
) |
Definition at line 350 of file lldrawpoolavatar.cpp.
References LLShaderMgr::AVATAR_GRAVITY, LLShaderMgr::AVATAR_MATRIX, AVATAR_RENDER_PASS_SINGLE, LLShaderMgr::AVATAR_SINWAVE, LLShaderMgr::AVATAR_WIND, LLGLImmediate::begin(), beginRenderPass(), CLOTHING_GRAVITY_EFFECT, LLGLImmediate::color4f(), LLPipeline::enableLightsAvatarEdit(), LLGLImmediate::end(), endRenderPass(), gAvatarMatrixParam, LLPointer< Type >::get(), LLFace::getDrawable(), LLSingleton< LLViewerCamera >::getInstance(), LLCoordFrame::getMatrixToLocal(), getNumPasses(), LLViewerObject::getPositionAgent(), LLDrawable::getVObj(), LLJoint::getWorldPosition(), gGL, gPipeline, gRenderAvatar, LLPipeline::hasRenderDebugFeatureMask(), i, LLViewerObject::isDead(), LLVOAvatar::isFullyLoaded(), LLVOAvatar::isImpostor(), LLPointer< Type >::isNull(), LLVertexBuffer::LINES, LLViewerObject::mDrawable, LLFacePool::mDrawFace, LLVOAvatar::mIsSelf, LLVOAvatar::mPelvisp, LLVOAvatar::mRipplePhase, LLVOAvatar::mRoot, LLVOAvatar::mSpecialRenderMode, LLGLSLShader::mUniform, LLVector4::mV, LLVOAvatar::mWindVec, noise1(), OGL_TO_CFR_ROTATION, prerender(), LLPipeline::RENDER_DEBUG_FEATURE_FOOT_SHADOWS, LLVOAvatar::renderCollisionVolumes(), LLVOAvatar::renderFootShadows(), LLVOAvatar::renderImpostor(), LLVOAvatar::renderRigid(), LLVOAvatar::renderSkinned(), S32, LLAgent::sDebugDisplayTarget, LLFacePool::LLOverrideFaceColor::setColor(), LLVector4::setVec(), SHADER_LEVEL_CLOTH, LLVOAvatar::sNumVisibleAvatars, LLPipeline::sReflectionRender, sShaderLevel, LLVOAvatar::sShowCollisionVolumes, LLPipeline::sUnderWaterRender, LLGLImmediate::vertex3fv(), LLGLSLShader::vertexAttrib4fv(), and VW.
Referenced by LLVisualParamHint::render(), LLImagePreviewAvatar::render(), LLPreviewAnimation::render(), and render().
S32 LLDrawPoolAvatar::mNumFaces [protected] |
Definition at line 42 of file lldrawpoolavatar.h.