From 8d8860d5b2b15c72655ddd2b3f99ccb809171425 Mon Sep 17 00:00:00 2001 From: Dave Parks Date: Tue, 19 Oct 2010 14:16:00 -0500 Subject: Make preview render match what will be uploaded (exposes transform changes between LODs) --- indra/newview/llfloatermodelpreview.cpp | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp index d067970806..bdccb09d88 100644 --- a/indra/newview/llfloatermodelpreview.cpp +++ b/indra/newview/llfloatermodelpreview.cpp @@ -3398,23 +3398,31 @@ BOOL LLModelPreview::render() if (!avatar_preview) { - for (LLModelLoader::scene::iterator iter = mScene[mPreviewLOD].begin(); iter != mScene[mPreviewLOD].end(); ++iter) + //for (LLModelLoader::scene::iterator iter = mScene[mPreviewLOD].begin(); iter != mScene[mPreviewLOD].end(); ++iter) + for (LLMeshUploadThread::instance_list::iterator iter = mUploadData.begin(); iter != mUploadData.end(); ++iter) { + LLModelInstance& instance = *iter; + gGL.pushMatrix(); - LLMatrix4 mat = iter->first; + LLMatrix4 mat = instance.mTransform; glMultMatrixf((GLfloat*) mat.mMatrix); - for (LLModelLoader::model_instance_list::iterator model_iter = iter->second.begin(); model_iter != iter->second.end(); ++model_iter) + //for (LLModelLoader::model_instance_list::iterator model_iter = iter->second.begin(); model_iter != iter->second.end(); ++model_iter) { - LLModelInstance& instance = *model_iter; - LLModel* model = instance.mModel; + //LLModelInstance& instance = *model_iter; + LLModel* model = instance.mLOD[mPreviewLOD]; - if (instance.mTransform != mat) + if (!model) { - llerrs << "WTF?" << llendl; + continue; } + //if (instance.mTransform != mat) + //{ + // llerrs << "WTF?" << llendl; + //} + if (render_mesh) { for (U32 i = 0; i < mVertexBuffer[mPreviewLOD][model].size(); ++i) -- cgit v1.2.3