diff --git a/indra/newview/app_settings/shaders/class1/objects/previewV.glsl b/indra/newview/app_settings/shaders/class1/objects/previewV.glsl index 4bb588335a..3945160db6 100644 --- a/indra/newview/app_settings/shaders/class1/objects/previewV.glsl +++ b/indra/newview/app_settings/shaders/class1/objects/previewV.glsl @@ -25,6 +25,7 @@ uniform mat3 normal_matrix; uniform mat4 texture_matrix0; +uniform vec4 ambient_color; // add ambient color to preview shader uniform mat4 modelview_matrix; uniform mat4 modelview_projection_matrix; @@ -87,7 +88,7 @@ void main() vec3 norm = normalize(normal_matrix * normal); - vec4 col = vec4(0,0,0,1); + vec4 col = ambient_color; // add ambient color to preview shader // Collect normal lights (need to be divided by two, as we later multiply by 2) col.rgb += light_diffuse[1].rgb * calcDirectionalLight(norm, light_position[1].xyz); diff --git a/indra/newview/llmodelpreview.cpp b/indra/newview/llmodelpreview.cpp index 3e782468ba..6d83ddbdc9 100644 --- a/indra/newview/llmodelpreview.cpp +++ b/indra/newview/llmodelpreview.cpp @@ -424,7 +424,7 @@ bool LLModelPreview::matchMaterialOrder(LLModel* lod, LLModel* ref, int& refFace std::ostringstream out; out << "material " << ref->mMaterialList[i] << " not found in lod adding placeholder"; - LL_DEBUGS("MESHSKININFO") << out << LL_ENDL; + LL_DEBUGS("MESHSKININFO") << out.str() << LL_ENDL; if (mImporterDebug) { LLFloaterModelPreview::addStringToLog(out, false); @@ -458,8 +458,8 @@ bool LLModelPreview::matchMaterialOrder(LLModel* lod, LLModel* ref, int& refFace if (lod->mMaterialList.size() != ref->mMaterialList.size()) { std::ostringstream out; - out << "Material of LOD model " << lod->getName() << " has more materials than a reference" << ref->getName() << "."; - LL_INFOS("MESHSKININFO") << out << LL_ENDL; + out << "Material of LOD model " << lod->getName() << " has more materials than the reference " << ref->getName() << "."; + LL_INFOS("MESHSKININFO") << out.str() << LL_ENDL; LLFloaterModelPreview::addStringToLog(out, true); return false; } @@ -3371,6 +3371,7 @@ BOOL LLModelPreview::render() gGL.loadIdentity(); gPipeline.enableLightsPreview(); + gObjectPreviewProgram.uniform4fv(LLShaderMgr::AMBIENT, 1, LLPipeline::PreviewAmbientColor.mV); // pass ambient setting to shader LLQuaternion camera_rot = LLQuaternion(mCameraPitch, LLVector3::y_axis) * LLQuaternion(mCameraYaw, LLVector3::z_axis); diff --git a/indra/newview/llviewershadermgr.cpp b/indra/newview/llviewershadermgr.cpp index 3ca714fd46..525387af51 100644 --- a/indra/newview/llviewershadermgr.cpp +++ b/indra/newview/llviewershadermgr.cpp @@ -3219,7 +3219,7 @@ BOOL LLViewerShaderMgr::loadShadersObject() if (success) { - gObjectPreviewProgram.mName = "Simple Shader"; + gObjectPreviewProgram.mName = "Preview Shader"; // update preview shader name gObjectPreviewProgram.mFeatures.calculatesLighting = false; gObjectPreviewProgram.mFeatures.calculatesAtmospherics = false; gObjectPreviewProgram.mFeatures.hasGamma = false; diff --git a/indra/newview/skins/default/xui/en/floater_model_preview.xml b/indra/newview/skins/default/xui/en/floater_model_preview.xml index 684dbaa81b..d32a06bcac 100644 --- a/indra/newview/skins/default/xui/en/floater_model_preview.xml +++ b/indra/newview/skins/default/xui/en/floater_model_preview.xml @@ -1492,6 +1492,16 @@ label="Model Edge" tool_tip="Edge color for the model in preview window on the Mesh uploader" name="mesh_preview_edge_color"/> +