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"/>
+