From a451a8f5666a7643c37f3eccfaeaaf9a6c477f23 Mon Sep 17 00:00:00 2001 From: Siana Gearz Date: Tue, 14 Feb 2012 16:45:31 +0100 Subject: [PATCH 1/6] SH-2963 Fix for highlight transparent not highlighting 100% transparent objects. --- indra/newview/lldrawpool.h | 1 + indra/newview/lldrawpoolalpha.cpp | 1 + indra/newview/llvovolume.cpp | 10 +++++++--- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/indra/newview/lldrawpool.h b/indra/newview/lldrawpool.h index 225c93637..341583996 100644 --- a/indra/newview/lldrawpool.h +++ b/indra/newview/lldrawpool.h @@ -139,6 +139,7 @@ public: PASS_ALPHA, PASS_ALPHA_MASK, PASS_FULLBRIGHT_ALPHA_MASK, + PASS_ALPHA_INVISIBLE, NUM_RENDER_TYPES, }; diff --git a/indra/newview/lldrawpoolalpha.cpp b/indra/newview/lldrawpoolalpha.cpp index d138d4552..4d4864470 100644 --- a/indra/newview/lldrawpoolalpha.cpp +++ b/indra/newview/lldrawpoolalpha.cpp @@ -344,6 +344,7 @@ void LLDrawPoolAlpha::render(S32 pass) pushBatches(LLRenderPass::PASS_ALPHA_MASK, LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_TEXCOORD0, FALSE); pushBatches(LLRenderPass::PASS_FULLBRIGHT_ALPHA_MASK, LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_TEXCOORD0, FALSE); + pushBatches(LLRenderPass::PASS_ALPHA_INVISIBLE, LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_TEXCOORD0, FALSE); if(shaders) { diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 7e4916293..df0925c6c 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -3692,10 +3692,10 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group) else { if (te->getColor().mV[3] > 0.f) - { + { //only treat as alpha in the pipeline if < 100% transparent drawablep->setState(LLDrawable::HAS_ALPHA); - alpha_faces.push_back(facep); } + alpha_faces.push_back(facep); } } else @@ -4223,7 +4223,11 @@ void LLVolumeGeometryManager::genDrawInfo(LLSpatialGroup* group, U32 mask, std:: if (is_alpha) { // can we safely treat this as an alpha mask? - if (facep->canRenderAsMask()) + if (facep->getFaceColor().mV[3] <= 0.f) + { //100% transparent, don't render unless we're highlighting transparent + registerFace(group, facep, LLRenderPass::PASS_ALPHA_INVISIBLE); + } + else if (facep->canRenderAsMask()) { if (te->getFullbright() || LLPipeline::sNoAlpha) { From 657c8e8729da64f0af648a604f66c6bc875a8484 Mon Sep 17 00:00:00 2001 From: Siana Gearz Date: Tue, 14 Feb 2012 21:06:59 +0100 Subject: [PATCH 2/6] Warn if sending imcomplete appearence --- indra/newview/llagent.cpp | 5 ++++- .../skins/default/xui/en-us/notifications.xml | 13 +++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 103a5e594..bffb687d7 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -3984,7 +3984,10 @@ void LLAgent::sendAgentSetAppearance() } } -// llinfos << "Avatar XML num VisualParams transmitted = " << transmitted_params << llendl; + llinfos << "Avatar XML num VisualParams transmitted = " << transmitted_params << llendl; + if(transmitted_params < 218) { + LLNotificationsUtil::add("SGIncompleteAppearence"); + } sendReliableMessage(); } diff --git a/indra/newview/skins/default/xui/en-us/notifications.xml b/indra/newview/skins/default/xui/en-us/notifications.xml index cab47b46f..86b27d335 100644 --- a/indra/newview/skins/default/xui/en-us/notifications.xml +++ b/indra/newview/skins/default/xui/en-us/notifications.xml @@ -7020,5 +7020,18 @@ Click 'Wear' to attach the Physics Wearable, or click 'Cancel' if you wish to ma + +Sending incomplete appearence. You may appear to others as a cloud. + +Your shape, skin, hair or eyes might be defect. + + + + From f8aad357758fe6520fa9cd7bbc47aefaa43cb82e Mon Sep 17 00:00:00 2001 From: Siana Gearz Date: Tue, 14 Feb 2012 21:29:22 +0100 Subject: [PATCH 3/6] Skinning and cloth settings realigned properly --- .../skins/default/xui/en-us/panel_preferences_graphics1.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/newview/skins/default/xui/en-us/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/en-us/panel_preferences_graphics1.xml index feb0cf325..8e1b9839b 100644 --- a/indra/newview/skins/default/xui/en-us/panel_preferences_graphics1.xml +++ b/indra/newview/skins/default/xui/en-us/panel_preferences_graphics1.xml @@ -61,8 +61,8 @@ Avatar Rendering: - - + + m From c542c7bdbbb07b1b7c0d95f08cdadb030b76c101 Mon Sep 17 00:00:00 2001 From: Siana Gearz Date: Wed, 15 Feb 2012 01:01:11 +0100 Subject: [PATCH 4/6] Work around pink textures on ATI with 3.1<=GL<=3.2 --- indra/llrender/llshadermgr.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/llrender/llshadermgr.cpp b/indra/llrender/llshadermgr.cpp index 8a9f15d13..e17fd6998 100644 --- a/indra/llrender/llshadermgr.cpp +++ b/indra/llrender/llshadermgr.cpp @@ -699,7 +699,7 @@ GLhandleARB LLShaderMgr::loadShaderFile(const std::string& filename, S32 & shade text[count++] = strdup("return texture2D(tex0, texcoord);\n"); text[count++] = strdup("}\n"); } - else if (gGLManager.mGLVersion >= 3.f) + else if (gGLManager.mGLVersion >= 3.f && !(gGLManager.mIsATI && gGLManager.mGLVersion < 3.3f) ) { text[count++] = strdup("\tswitch (int(vary_texture_index+0.25))\n"); text[count++] = strdup("\t{\n"); From dd9196efac09260060e21daa1520ec4504d72385 Mon Sep 17 00:00:00 2001 From: Siana Gearz Date: Wed, 15 Feb 2012 01:07:41 +0100 Subject: [PATCH 5/6] Fix texture preview showing useless inventory UUID --- indra/newview/llpreviewtexture.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/llpreviewtexture.cpp b/indra/newview/llpreviewtexture.cpp index d714b7444..75de05a93 100644 --- a/indra/newview/llpreviewtexture.cpp +++ b/indra/newview/llpreviewtexture.cpp @@ -469,7 +469,7 @@ LLUUID LLPreviewTexture::getItemID() if ((perms & PERM_TRANSFER) && (perms & PERM_COPY)) { - return item->getUUID(); + return item->getAssetUUID(); } } return LLUUID::null; From 28f73d10372027fc8086fb392b458560fae58331 Mon Sep 17 00:00:00 2001 From: Siana Gearz Date: Wed, 15 Feb 2012 04:41:51 +0100 Subject: [PATCH 6/6] Fix large chat font being same as medium --- indra/llrender/llfontgl.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/llrender/llfontgl.cpp b/indra/llrender/llfontgl.cpp index 2148f6d94..286c5b3a5 100644 --- a/indra/llrender/llfontgl.cpp +++ b/indra/llrender/llfontgl.cpp @@ -1141,7 +1141,7 @@ LLFontGL* LLFontGL::getFontSansSerifBig() //static LLFontGL* LLFontGL::getFontSansSerifHuge() { - static LLFontGL* fontp = getFont(LLFontDescriptor("SansSerif","Large",0)); + static LLFontGL* fontp = getFont(LLFontDescriptor("SansSerif","Huge",0)); return fontp; } @@ -1320,4 +1320,4 @@ void LLFontGL::drawGlyph(const LLRectf& screen_rect, const LLRectf& uv_rect, con } gGL.end(); -} \ No newline at end of file +}