#include <llviewerjointmesh.h>
Definition at line 68 of file llviewerjointmesh.h.
LLViewerJointMesh::LLViewerJointMesh | ( | ) |
Definition at line 144 of file llviewerjointmesh.cpp.
References FALSE, mColor, mCullBackFaces, mFace, mMesh, mMeshID, mNumSkinJoints, mShiny, mSkinJoints, LLJoint::mUpdateXform, LLViewerJoint::mValid, NULL, and TRUE.
LLViewerJointMesh::~LLViewerJointMesh | ( | ) | [virtual] |
Definition at line 177 of file llviewerjointmesh.cpp.
References freeSkinData(), mMesh, mTexture, and NULL.
Definition at line 219 of file llviewerjointmesh.cpp.
References mColor.
Referenced by LLVOAvatar::loadMeshNodes(), LLVOAvatar::onGlobalColorChanged(), and LLVOAvatar::updateMeshTextures().
Definition at line 109 of file llviewerjointmesh.h.
References mShiny.
Referenced by LLVOAvatar::LLVOAvatar().
void LLViewerJointMesh::setTexture | ( | LLViewerImage * | texture | ) |
Definition at line 239 of file llviewerjointmesh.cpp.
References mLayerSet, mTexture, and NULL.
Referenced by LLVOAvatar::updateMeshTextures(), and LLVOAvatar::useBakedTexture().
void LLViewerJointMesh::setTestTexture | ( | U32 | name | ) | [inline] |
Definition at line 114 of file llviewerjointmesh.h.
References mTestImageName.
Referenced by LLImagePreviewAvatar::setPreviewTarget().
void LLViewerJointMesh::setLayerSet | ( | LLTexLayerSet * | layer_set | ) |
Definition at line 256 of file llviewerjointmesh.cpp.
References mLayerSet, mTexture, and NULL.
Referenced by LLVOAvatar::updateMeshTextures().
LLPolyMesh * LLViewerJointMesh::getMesh | ( | ) |
Definition at line 272 of file llviewerjointmesh.cpp.
References mMesh.
Referenced by LLVOAvatar::getHeadMesh(), LLVOAvatar::getUpperBodyMesh(), and LLVOAvatar::loadMeshNodes().
void LLViewerJointMesh::setMesh | ( | LLPolyMesh * | mesh | ) |
Definition at line 280 of file llviewerjointmesh.cpp.
References allocateSkinData(), LLJoint::findJoint(), freeSkinData(), LLPolyMesh::getJointNames(), LLPolyMesh::getNumJointNames(), LLPolyMesh::getPosition(), LLJoint::getRoot(), LLPolyMesh::getRotation(), LLPolyMesh::getScale(), LLPolyMesh::hasWeights(), LLPolyMesh::isLOD(), mMesh, mSkinJoints, NULL, LLJoint::setPosition(), LLJoint::setRotation(), LLJoint::setScale(), setupJoint(), and LLSkinJoint::setupSkinJoint().
Referenced by LLVOAvatar::buildCharacter(), and LLVOAvatar::loadMeshNodes().
void LLViewerJointMesh::setupJoint | ( | LLViewerJoint * | current_joint | ) |
Definition at line 327 of file llviewerjointmesh.cpp.
References LLDynamicArray< Type, BlockSize >::count(), LLJoint::getParent(), LLJoint::getWorldMatrix(), LLJoint::mChildren, LLSkinJoint::mJoint, LLPolyMesh::mJointRenderData, mMesh, mNumSkinJoints, mSkinJoints, NULL, and LLDynamicArray< Type, BlockSize >::put().
Referenced by setMesh().
void LLViewerJointMesh::uploadJointMatrices | ( | ) |
Definition at line 389 of file llviewerjointmesh.cpp.
References LLDynamicArray< Type, BlockSize >::count(), FALSE, gAvatarMatrixParam, LLMatrix4::getMat3(), LLDrawPoolAvatar::getModelView(), LLFace::getPool(), LLPolyMesh::getReferenceMesh(), LLDrawPool::getVertexShaderLevel(), i, j, LL_CHARACTER_MAX_JOINTS_PER_MESH, mFace, LLPolyMesh::mJointRenderData, LLMatrix4::mMatrix, mMesh, LLSkinJoint::mRootToJointSkinOffset, LLSkinJoint::mRootToParentJointSkinOffset, LLVector4::mV, NULL, NUM_AXES, S32, LLMatrix4::translate(), LLMatrix4::transpose(), TRUE, and VW.
Referenced by drawShape(), and updateGeometry().
void LLViewerJointMesh::setMeshID | ( | S32 | id | ) | [inline] |
Definition at line 132 of file llviewerjointmesh.h.
References mMeshID.
Referenced by LLVOAvatar::LLVOAvatar().
S32 LLViewerJointMesh::getMeshID | ( | ) | [inline] |
void LLViewerJointMesh::drawBone | ( | ) | [virtual] |
BOOL LLViewerJointMesh::isTransparent | ( | ) | [virtual] |
Reimplemented from LLViewerJoint.
Definition at line 481 of file llviewerjointmesh.cpp.
References mIsTransparent.
Referenced by drawShape().
Reimplemented from LLViewerJoint.
Definition at line 507 of file llviewerjointmesh.cpp.
References LLPipeline::addTrianglesDrawn(), LLViewerImage::bind(), LLImageGL::bindExternalTexture(), LLTexLayerSetBuffer::bindTexture(), LLTexLayerSet::getComposite(), LLViewerImageList::getImage(), LLPolyMesh::getNumFaces(), LLFace::getPool(), LLDrawPool::getVertexShaderLevel(), LLJoint::getWorldMatrix(), gImageList, gPipeline, gRenderForSelect, LLTexLayerSet::hasComposite(), LLPolyMesh::hasWeights(), IMG_DEFAULT, IMG_DEFAULT_AVATAR, LLPointer< Type >::isNull(), isTransparent(), llassert, llendl, llwarns, mColor, mFace, LLPolyMesh::mFaceIndexCount, LLPolyMesh::mFaceIndexOffset, LLPolyMesh::mFaceVertexCount, LLPolyMesh::mFaceVertexOffset, mIsTransparent, mLayerSet, LLMatrix4::mMatrix, mMesh, mShiny, mTestImageName, mTexture, LLColor4::mV, LLViewerJoint::mValid, LLFace::mVertexBuffer, LLViewerJoint::mVisible, LLPointer< Type >::notNull(), sRenderMask, stop_glerror, LLVertexBuffer::TRIANGLES, LLImageGL::unbindTexture(), and uploadJointMatrices().
void LLViewerJointMesh::updateFaceSizes | ( | U32 & | num_vertices, | |
U32 & | num_indices, | |||
F32 | pixel_area | |||
) | [virtual] |
Reimplemented from LLViewerJoint.
Definition at line 660 of file llviewerjointmesh.cpp.
References LLPolyMesh::getNumVertices(), LLPolyMesh::getReferenceMesh(), LLPolyMesh::getSharedData(), LLPolyMesh::mCurVertexCount, LLPolyMesh::mFaceIndexCount, LLPolyMesh::mFaceIndexOffset, LLPolyMesh::mFaceVertexCount, LLPolyMesh::mFaceVertexOffset, mMesh, LLPolyMeshSharedData::mNumTriangleIndices, and LLViewerJoint::mValid.
void LLViewerJointMesh::updateFaceData | ( | LLFace * | face, | |
F32 | pixel_area, | |||
BOOL | damp_wind = FALSE | |||
) | [virtual] |
Reimplemented from LLViewerJoint.
Definition at line 680 of file llviewerjointmesh.cpp.
References LLPolyMesh::getClothingWeights(), LLPolyMesh::getCoords(), LLPolyMesh::getFaces(), LLFace::getGeometryAvatar(), LLPolyMesh::getNormals(), LLPolyMesh::getNumFaces(), LLPolyMesh::getNumVertices(), LLPolyMesh::getTexCoords(), LLPolyMesh::getWeights(), i, LLPointer< Type >::isNull(), j, mFace, LLPolyMesh::mFaceIndexOffset, LLPolyMesh::mFaceVertexOffset, mMesh, LLViewerJoint::mValid, LLFace::mVertexBuffer, S32, and stop_glerror.
Reimplemented from LLViewerJoint.
Definition at line 738 of file llviewerjointmesh.cpp.
References LLViewerJoint::mValid, LLViewerJoint::setValid(), and TRUE.
void LLViewerJointMesh::updateGeometry | ( | ) | [virtual] |
Reimplemented from LLViewerJoint.
Definition at line 897 of file llviewerjointmesh.cpp.
References FALSE, LLTimer::getElapsedSeconds(), LLTimer::getElapsedTimeF64(), LLShaderMgr::getVertexShaderLevel(), gSavedSettings, LLPolyMesh::hasWeights(), i, llendl, llinfos, mFace, mMesh, LLViewerJoint::mValid, LLFace::mVertexBuffer, LLPointer< Type >::notNull(), LLControlGroup::setBOOL(), LLShaderMgr::SHADER_AVATAR, sUpdateGeometryCallPointer, sUpdateGeometryCalls, sUpdateGeometryElapsedTime, sUpdateGeometryElapsedTimeOff, sUpdateGeometryElapsedTimeOn, sUpdateGeometryFunc, sUpdateGeometryGlobalTime, sUpdateGeometryLastProcessor, sUpdateGeometryRunAvgOff, sUpdateGeometryRunAvgOn, sUpdateGeometryRunCount, sVectorizePerfTest, sVectorizeProcessor, TRUE, UPDATE_GEOMETRY_CALL_OVERFLOW, updateGeometryOriginal(), and uploadJointMatrices().
void LLViewerJointMesh::dump | ( | ) | [virtual] |
Reimplemented from LLViewerJoint.
Definition at line 1034 of file llviewerjointmesh.cpp.
References llendl, llinfos, LLJoint::mName, and LLViewerJoint::mValid.
void LLViewerJointMesh::setIsTransparent | ( | BOOL | is_transparent | ) | [inline] |
Definition at line 148 of file llviewerjointmesh.h.
References mIsTransparent.
Referenced by LLVOAvatar::LLVOAvatar().
BOOL LLViewerJointMesh::isAnimatable | ( | ) | [inline, virtual] |
void LLViewerJointMesh::updateVectorize | ( | ) | [static] |
Definition at line 859 of file llviewerjointmesh.cpp.
References LLControlGroup::getBOOL(), LLControlGroup::getU32(), gSavedSettings, LL_ENDL, LL_INFOS, sUpdateGeometryFunc, sVectorizePerfTest, sVectorizeProcessor, updateGeometryOriginal(), updateGeometrySSE(), updateGeometrySSE2(), and updateGeometryVectorized().
Referenced by handleVectorizeChanged(), and LLAppViewer::init().
void LLViewerJointMesh::updateGeometryOriginal | ( | LLFace * | face, | |
LLPolyMesh * | mesh | |||
) | [static, private] |
Definition at line 746 of file llviewerjointmesh.cpp.
References F32_MAX, LLPolyMesh::getCoords(), LLPolyMesh::getNormals(), LLVertexBuffer::getNormalStrider(), LLPolyMesh::getNumVertices(), LLVertexBuffer::getVertexStrider(), LLPolyMesh::getWeights(), lerp(), llfloor(), LLPolyMesh::mFaceVertexOffset, LLMatrix3::mMatrix, LLMatrix4::mMatrix, LLFace::mVertexBuffer, S32, LLVertexBuffer::setBuffer(), VW, VX, VY, and VZ.
Referenced by updateGeometry(), and updateVectorize().
void LLViewerJointMesh::updateGeometryVectorized | ( | LLFace * | face, | |
LLPolyMesh * | mesh | |||
) | [static, private] |
Definition at line 52 of file llviewerjointmesh_vec.cpp.
References LLDynamicArray< Type, BlockSize >::count(), F32_MAX, LLPolyMesh::getCoords(), LLPolyMesh::getNormals(), LLVertexBuffer::getNormalStrider(), LLPolyMesh::getNumVertices(), LLPolyMesh::getReferenceMesh(), LLVertexBuffer::getVertexStrider(), LLPolyMesh::getWeights(), j, LLV4Matrix4::lerp(), llfloor(), LLPolyMesh::mFaceVertexOffset, LLPolyMesh::mJointRenderData, LLSkinJoint::mRootToJointSkinOffset, LLSkinJoint::mRootToParentJointSkinOffset, LLV4Matrix4::multiply(), LLFace::mVertexBuffer, NULL, S32, LLVertexBuffer::setBuffer(), and LLV4Matrix4::translate().
Referenced by updateGeometrySSE(), updateGeometrySSE2(), and updateVectorize().
void LLViewerJointMesh::updateGeometrySSE | ( | LLFace * | face, | |
LLPolyMesh * | mesh | |||
) | [static, private] |
Definition at line 114 of file llviewerjointmesh_sse.cpp.
References updateGeometryVectorized().
Referenced by updateVectorize().
void LLViewerJointMesh::updateGeometrySSE2 | ( | LLFace * | face, | |
LLPolyMesh * | mesh | |||
) | [static, private] |
Definition at line 121 of file llviewerjointmesh_sse2.cpp.
References updateGeometryVectorized().
Referenced by updateVectorize().
Definition at line 188 of file llviewerjointmesh.cpp.
References mNumSkinJoints, mSkinJoints, and TRUE.
Referenced by setMesh().
void LLViewerJointMesh::freeSkinData | ( | ) | [private] |
Definition at line 198 of file llviewerjointmesh.cpp.
References mNumSkinJoints, mSkinJoints, and NULL.
Referenced by setMesh(), and ~LLViewerJointMesh().
LLColor4 LLViewerJointMesh::mColor [protected] |
Definition at line 71 of file llviewerjointmesh.h.
Referenced by drawShape(), getColor(), LLViewerJointMesh(), and setColor().
F32 LLViewerJointMesh::mShiny [protected] |
Definition at line 73 of file llviewerjointmesh.h.
Referenced by drawShape(), LLViewerJointMesh(), and setSpecular().
LLPointer<LLViewerImage> LLViewerJointMesh::mTexture [protected] |
Definition at line 74 of file llviewerjointmesh.h.
Referenced by drawShape(), setLayerSet(), setTexture(), and ~LLViewerJointMesh().
LLTexLayerSet* LLViewerJointMesh::mLayerSet [protected] |
Definition at line 75 of file llviewerjointmesh.h.
Referenced by drawShape(), setLayerSet(), and setTexture().
U32 LLViewerJointMesh::mTestImageName [protected] |
LLPolyMesh* LLViewerJointMesh::mMesh [protected] |
Definition at line 77 of file llviewerjointmesh.h.
Referenced by drawShape(), getMesh(), LLViewerJointMesh(), setMesh(), setupJoint(), updateFaceData(), updateFaceSizes(), updateGeometry(), uploadJointMatrices(), and ~LLViewerJointMesh().
BOOL LLViewerJointMesh::mCullBackFaces [protected] |
LLFace* LLViewerJointMesh::mFace [protected] |
Definition at line 79 of file llviewerjointmesh.h.
Referenced by drawShape(), LLViewerJointMesh(), updateFaceData(), updateGeometry(), and uploadJointMatrices().
U32 LLViewerJointMesh::mFaceIndexCount [protected] |
Definition at line 81 of file llviewerjointmesh.h.
BOOL LLViewerJointMesh::mIsTransparent [protected] |
Definition at line 82 of file llviewerjointmesh.h.
Referenced by drawShape(), isTransparent(), and setIsTransparent().
U32 LLViewerJointMesh::mNumSkinJoints [protected] |
Definition at line 84 of file llviewerjointmesh.h.
Referenced by allocateSkinData(), freeSkinData(), LLViewerJointMesh(), and setupJoint().
LLSkinJoint* LLViewerJointMesh::mSkinJoints [protected] |
Definition at line 85 of file llviewerjointmesh.h.
Referenced by allocateSkinData(), freeSkinData(), LLViewerJointMesh(), setMesh(), and setupJoint().
S32 LLViewerJointMesh::mMeshID [protected] |
Definition at line 86 of file llviewerjointmesh.h.
Referenced by getMeshID(), LLViewerJointMesh(), and setMeshID().
BOOL LLViewerJointMesh::sPipelineRender = FALSE [static] |
Definition at line 89 of file llviewerjointmesh.h.
U32 LLViewerJointMesh::sClothingMaskImageName = 0 [static] |
Definition at line 91 of file llviewerjointmesh.h.
EAvatarRenderPass LLViewerJointMesh::sRenderPass = AVATAR_RENDER_PASS_SINGLE [static] |
Definition at line 93 of file llviewerjointmesh.h.
void(* LLViewerJointMesh::sUpdateGeometryFunc)(LLFace *face, LLPolyMesh *mesh) | ( | LLFace * | face, | |
LLPolyMesh * | mesh | |||
) | [static, private] |
Referenced by updateGeometry(), and updateVectorize().