#include <llviewerjointmesh.h>
Inheritance diagram for LLViewerJointMesh:
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 188 of file llviewerjointmesh.cpp.
References mNumSkinJoints, mSkinJoints, and TRUE.
Referenced by setMesh().
void LLViewerJointMesh::drawBone | ( | ) | [virtual] |
Reimplemented from LLViewerJoint.
Definition at line 562 of file llviewerjointmesh.cpp.
References LLViewerImage::bind(), LLImageGL::bindExternalTexture(), LLTexLayerSetBuffer::bindTexture(), count, end, f, LLTexLayerSet::getComposite(), LLViewerImageList::getImage(), LLPolyMesh::getNumFaces(), LLFace::getPool(), LLDrawPool::getVertexShaderLevel(), LLJoint::getWorldMatrix(), gImageList, glColor4f, glColor4fv, glMultMatrixf, glPopMatrix, gMaterialIndex, gRenderForSelect, gSpecularIndex, LLTexLayerSet::hasComposite(), LLPolyMesh::hasWeights(), IMG_DEFAULT, IMG_DEFAULT_AVATAR, LLPointer< Type >::isNull(), isTransparent(), llassert, llDrawRangeElements(), 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, start, stop_glerror, and uploadJointMatrices().
void LLViewerJointMesh::dump | ( | ) | [virtual] |
Reimplemented from LLViewerJoint.
Definition at line 1161 of file llviewerjointmesh.cpp.
References llendl, llinfos, LLJoint::mName, and LLViewerJoint::mValid.
void LLViewerJointMesh::freeSkinData | ( | ) | [private] |
Definition at line 240 of file llviewerjointmesh.cpp.
References mNumSkinJoints, mSkinJoints, and NULL.
Referenced by setMesh(), and ~LLViewerJointMesh().
Definition at line 198 of file llviewerjointmesh.cpp.
References LLDynamicArray< Type, BlockSize >::count(), LLPolyMesh::getReferenceMesh(), LLPolyMesh::mJointRenderData, mMesh, mNumSkinJoints, and S32.
Referenced by writeCAL3D().
LLPolyMesh * LLViewerJointMesh::getMesh | ( | ) |
Definition at line 314 of file llviewerjointmesh.cpp.
References mMesh.
Referenced by LLVOAvatar::getHeadMesh(), LLVOAvatar::getUpperBodyMesh(), and LLVOAvatar::loadMeshNodes().
S32 LLViewerJointMesh::getMeshID | ( | ) | [inline] |
BOOL LLViewerJointMesh::isAnimatable | ( | ) | [inline, virtual] |
BOOL LLViewerJointMesh::isTransparent | ( | ) | [virtual] |
Reimplemented from LLViewerJoint.
Definition at line 523 of file llviewerjointmesh.cpp.
References mIsTransparent.
Referenced by drawShape().
Definition at line 261 of file llviewerjointmesh.cpp.
References mColor.
Referenced by LLVOAvatar::loadMeshNodes(), LLVOAvatar::onGlobalColorChanged(), and LLVOAvatar::updateMeshTextures().
Definition at line 148 of file llviewerjointmesh.h.
References mIsTransparent.
Referenced by LLVOAvatar::LLVOAvatar().
void LLViewerJointMesh::setLayerSet | ( | LLTexLayerSet * | layer_set | ) |
Definition at line 298 of file llviewerjointmesh.cpp.
References mLayerSet, mTexture, and NULL.
Referenced by LLVOAvatar::updateMeshTextures().
void LLViewerJointMesh::setMesh | ( | LLPolyMesh * | mesh | ) |
Definition at line 322 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().
Definition at line 132 of file llviewerjointmesh.h.
References mMeshID.
Referenced by LLVOAvatar::LLVOAvatar().
Definition at line 109 of file llviewerjointmesh.h.
References mShiny.
Referenced by LLVOAvatar::LLVOAvatar().
Definition at line 114 of file llviewerjointmesh.h.
References mTestImageName.
Referenced by LLImagePreviewAvatar::setPreviewTarget().
void LLViewerJointMesh::setTexture | ( | LLViewerImage * | texture | ) |
Definition at line 281 of file llviewerjointmesh.cpp.
References mLayerSet, mTexture, NULL, and texture.
Referenced by LLVOAvatar::updateMeshTextures(), and LLVOAvatar::useBakedTexture().
void LLViewerJointMesh::setupJoint | ( | LLViewerJoint * | current_joint | ) |
Definition at line 369 of file llviewerjointmesh.cpp.
References LLDynamicArray< Type, BlockSize >::count(), LLJoint::getParent(), LLJoint::getWorldMatrix(), LLSkinJoint::mJoint, LLPolyMesh::mJointRenderData, mMesh, mNumSkinJoints, mSkinJoints, NULL, and LLDynamicArray< Type, BlockSize >::put().
Referenced by setMesh().
void LLViewerJointMesh::updateFaceData | ( | LLFace * | face, | |
F32 | pixel_area, | |||
BOOL | damp_wind = FALSE | |||
) | [virtual] |
Reimplemented from LLViewerJoint.
Definition at line 847 of file llviewerjointmesh.cpp.
References face, LLPolyMesh::getBinormals(), LLPolyMesh::getClothingWeights(), LLPolyMesh::getCoords(), LLPolyMesh::getFaces(), LLPolyMesh::getNormals(), LLPolyMesh::getNumFaces(), LLPolyMesh::getNumVertices(), LLPolyMesh::getTexCoords(), LLPolyMesh::getWeights(), i, j, mFace, LLPolyMesh::mFaceIndexOffset, LLPolyMesh::mFaceVertexOffset, mMesh, LLViewerJoint::mValid, and S32.
void LLViewerJointMesh::updateFaceSizes | ( | U32 & | num_vertices, | |
U32 & | num_indices, | |||
F32 | pixel_area | |||
) | [virtual] |
Reimplemented from LLViewerJoint.
Definition at line 827 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::updateGeometry | ( | ) | [virtual] |
Reimplemented from LLViewerJoint.
Definition at line 1020 of file llviewerjointmesh.cpp.
References a, b, FALSE, LLTimer::getElapsedSeconds(), LLTimer::getElapsedTimeF64(), LLShaderMgr::getVertexShaderLevel(), gSavedSettings, gVectorizePerfTest, gVectorizeProcessor, LLPolyMesh::hasWeights(), i, llendl, llinfos, mFace, mMesh, LLViewerJoint::mValid, LLFace::mVertexBuffer, LLPointer< Type >::notNull(), LLControlGroup::setBOOL(), LLShaderMgr::SHADER_AVATAR, sUpdateGeometryFunc, TRUE, updateGeometryOriginal(), and uploadJointMatrices().
void LLViewerJointMesh::updateGeometryOriginal | ( | LLFace * | face, | |
LLPolyMesh * | mesh | |||
) | [static] |
Definition at line 914 of file llviewerjointmesh.cpp.
References f, F32_MAX, LLPolyMesh::getCoords(), LLPolyMesh::getNormals(), LLVertexBuffer::getNormalStrider(), LLPolyMesh::getNumVertices(), LLVertexBuffer::getVertexStrider(), LLPolyMesh::getWeights(), gJointMatUnaligned, gJointRotUnaligned, lerp(), llfloor(), mFace, LLPolyMesh::mFaceVertexOffset, LLMatrix3::mMatrix, LLMatrix4::mMatrix, mMesh, LLFace::mVertexBuffer, S32, VW, VX, VY, and VZ.
Referenced by update_vector_performances(), and updateGeometry().
void LLViewerJointMesh::updateGeometrySSE | ( | LLFace * | face, | |
LLPolyMesh * | mesh | |||
) | [static] |
Definition at line 112 of file llviewerjointmesh_sse.cpp.
References face, and updateGeometryVectorized().
Referenced by update_vector_performances().
void LLViewerJointMesh::updateGeometrySSE2 | ( | LLFace * | face, | |
LLPolyMesh * | mesh | |||
) | [static] |
Definition at line 119 of file llviewerjointmesh_sse2.cpp.
References face, and updateGeometryVectorized().
Referenced by update_vector_performances().
void LLViewerJointMesh::updateGeometryVectorized | ( | LLFace * | face, | |
LLPolyMesh * | mesh | |||
) | [static] |
Definition at line 52 of file llviewerjointmesh_vec.cpp.
References LLDynamicArray< Type, BlockSize >::count(), F32_MAX, face, LLPolyMesh::getCoords(), LLPolyMesh::getNormals(), LLVertexBuffer::getNormalStrider(), LLPolyMesh::getNumVertices(), LLPolyMesh::getReferenceMesh(), LLVertexBuffer::getVertexStrider(), LLPolyMesh::getWeights(), j, LLV4Matrix4::lerp(), llfloor(), LLPolyMesh::mFaceVertexOffset, LLPolyMesh::mJointRenderData, LLV4Matrix4::multiply(), NULL, S32, and LLV4Matrix4::translate().
Referenced by update_vector_performances(), updateGeometrySSE(), and updateGeometrySSE2().
Reimplemented from LLViewerJoint.
Definition at line 906 of file llviewerjointmesh.cpp.
References LLViewerJoint::mValid, LLViewerJoint::setValid(), and TRUE.
void LLViewerJointMesh::uploadJointMatrices | ( | ) |
Definition at line 431 of file llviewerjointmesh.cpp.
References LLDynamicArray< Type, BlockSize >::count(), FALSE, gAvatarMatrixParam, LLDrawPoolAvatar::getModelView(), LLFace::getPool(), LLPolyMesh::getReferenceMesh(), LLDrawPool::getVertexShaderLevel(), gJointMatUnaligned, gJointPivot, gJointRotUnaligned, i, j, LL_CHARACTER_MAX_JOINTS_PER_MESH, mFace, LLPolyMesh::mJointRenderData, mMesh, LLVector4::mV, NULL, S32, LLMatrix4::translate(), TRUE, and VW.
Referenced by drawShape(), and updateGeometry().
void LLViewerJointMesh::writeCAL3D | ( | apr_file_t * | fp, | |
S32 | material_num, | |||
LLCharacter * | characterp | |||
) |
Definition at line 1169 of file llviewerjointmesh.cpp.
References coord, f, getBoundJointsByIndex(), LLCharacter::getCharacterJoint(), LLPolyMesh::getCoords(), LLPolyMesh::getFaces(), LLPolyMesh::getNormals(), LLPolyMesh::getNumFaces(), LLPolyMesh::getNumVertices(), LLJoint::getParent(), LLJoint::getScale(), LLJoint::getSkinOffset(), LLPolyMesh::getTexCoords(), LLPolyMesh::getWeights(), LLPolyMesh::hasWeights(), i, lerp(), llfloor(), LLJoint::mJointNum, mMesh, S32, LLVector3::scaleVec(), VX, VY, and VZ.
Referenced by LLVOAvatar::writeCAL3D().
LLColor4 LLViewerJointMesh::mColor [protected] |
Definition at line 71 of file llviewerjointmesh.h.
Referenced by drawShape(), getColor(), LLViewerJointMesh(), and setColor().
BOOL LLViewerJointMesh::mCullBackFaces [protected] |
LLFace* LLViewerJointMesh::mFace [protected] |
Definition at line 79 of file llviewerjointmesh.h.
Referenced by drawShape(), LLViewerJointMesh(), updateFaceData(), updateGeometry(), updateGeometryOriginal(), 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().
LLTexLayerSet* LLViewerJointMesh::mLayerSet [protected] |
Definition at line 75 of file llviewerjointmesh.h.
Referenced by drawShape(), setLayerSet(), and setTexture().
LLPolyMesh* LLViewerJointMesh::mMesh [protected] |
Definition at line 77 of file llviewerjointmesh.h.
Referenced by drawShape(), getBoundJointsByIndex(), getMesh(), LLViewerJointMesh(), setMesh(), setupJoint(), updateFaceData(), updateFaceSizes(), updateGeometry(), updateGeometryOriginal(), uploadJointMatrices(), writeCAL3D(), and ~LLViewerJointMesh().
S32 LLViewerJointMesh::mMeshID [protected] |
Definition at line 86 of file llviewerjointmesh.h.
Referenced by getMeshID(), LLViewerJointMesh(), and setMeshID().
U32 LLViewerJointMesh::mNumSkinJoints [protected] |
Definition at line 84 of file llviewerjointmesh.h.
Referenced by allocateSkinData(), freeSkinData(), getBoundJointsByIndex(), LLViewerJointMesh(), and setupJoint().
F32 LLViewerJointMesh::mShiny [protected] |
Definition at line 73 of file llviewerjointmesh.h.
Referenced by drawShape(), LLViewerJointMesh(), and setSpecular().
LLSkinJoint* LLViewerJointMesh::mSkinJoints [protected] |
Definition at line 85 of file llviewerjointmesh.h.
Referenced by allocateSkinData(), freeSkinData(), LLViewerJointMesh(), setMesh(), and setupJoint().
U32 LLViewerJointMesh::mTestImageName [protected] |
LLPointer<LLViewerImage> LLViewerJointMesh::mTexture [protected] |
Definition at line 74 of file llviewerjointmesh.h.
Referenced by drawShape(), setLayerSet(), setTexture(), and ~LLViewerJointMesh().
Definition at line 93 of file llviewerjointmesh.h.
U32 LLViewerJointMesh::sClothingMaskImageName = 0 [static] |
Definition at line 91 of file llviewerjointmesh.h.
BOOL LLViewerJointMesh::sPipelineRender = FALSE [static] |
Definition at line 89 of file llviewerjointmesh.h.
EAvatarRenderPass LLViewerJointMesh::sRenderPass = AVATAR_RENDER_PASS_SINGLE [static] |
void(* LLViewerJointMesh::sUpdateGeometryFunc)(LLFace *face, LLPolyMesh *mesh) [static] |
Definition at line 1018 of file llviewerjointmesh.cpp.
Referenced by update_vector_performances(), and updateGeometry().