Merge branch 'DRTVWR-546' of https://bitbucket.org/lindenlab/viewer
commit
6f8175acd7
|
|
@ -25,6 +25,7 @@
|
|||
|
||||
uniform mat3 normal_matrix;
|
||||
uniform mat4 texture_matrix0;
|
||||
uniform mat4 texture_matrix1;
|
||||
uniform mat4 modelview_matrix;
|
||||
uniform mat4 modelview_projection_matrix;
|
||||
|
||||
|
|
@ -71,7 +72,7 @@ void main()
|
|||
vec3 ref = reflect(pos.xyz, -norm);
|
||||
|
||||
vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy;
|
||||
vary_texcoord1 = transpose(normal_matrix) * ref.xyz;
|
||||
vary_texcoord1 = (texture_matrix1 * vec4(ref,1.0)).xyz;
|
||||
|
||||
calcAtmospherics(pos.xyz);
|
||||
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ void fullbright_lighting()
|
|||
discard;
|
||||
}
|
||||
|
||||
color.rgb *= vertex_color.rgb;
|
||||
color *= vertex_color;
|
||||
|
||||
color.rgb = pow(color.rgb, vec3(texture_gamma));
|
||||
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@
|
|||
|
||||
uniform mat3 normal_matrix;
|
||||
uniform mat4 texture_matrix0;
|
||||
uniform mat4 texture_matrix1;
|
||||
uniform mat4 modelview_matrix;
|
||||
uniform mat4 modelview_projection_matrix;
|
||||
|
||||
|
|
@ -70,7 +71,7 @@ void main()
|
|||
vec3 ref = reflect(pos.xyz, -norm);
|
||||
|
||||
vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy;
|
||||
vary_texcoord1 = transpose(normal_matrix) * ref;
|
||||
vary_texcoord1 = (texture_matrix1 * vec4(ref,1.0)).xyz;
|
||||
|
||||
calcAtmospherics(pos.xyz);
|
||||
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@
|
|||
|
||||
uniform mat3 normal_matrix;
|
||||
uniform mat4 texture_matrix0;
|
||||
uniform mat4 texture_matrix1;
|
||||
uniform mat4 modelview_matrix;
|
||||
uniform mat4 modelview_projection_matrix;
|
||||
|
||||
|
|
@ -69,7 +70,7 @@ void main()
|
|||
vec3 ref = reflect(pos.xyz, -norm);
|
||||
|
||||
vary_texcoord0 = (texture_matrix0*vec4(texcoord0,0,1)).xy;
|
||||
vary_texcoord1 = transpose(normal_matrix) * ref;
|
||||
vary_texcoord1 = (texture_matrix1 * vec4(ref,1.0)).xyz;
|
||||
|
||||
calcAtmospherics(pos.xyz);
|
||||
|
||||
|
|
|
|||
|
|
@ -315,6 +315,7 @@ void LLDrawPoolBump::bindCubeMap(LLGLSLShader* shader, S32 shader_level, S32& di
|
|||
shader->uniform4fv(LLViewerShaderMgr::SHINY_ORIGIN, 1, vec4.mV);
|
||||
if (shader_level > 1)
|
||||
{
|
||||
cube_map->setMatrix(1);
|
||||
// Make sure that texture coord generation happens for tex unit 1, as that's the one we use for
|
||||
// the cube map in the one pass shiny shaders
|
||||
cube_channel = shader->enableTexture(LLViewerShaderMgr::ENVIRONMENT_MAP, LLTexUnit::TT_CUBE_MAP);
|
||||
|
|
@ -323,6 +324,7 @@ void LLDrawPoolBump::bindCubeMap(LLGLSLShader* shader, S32 shader_level, S32& di
|
|||
}
|
||||
else
|
||||
{
|
||||
cube_map->setMatrix(0);
|
||||
cube_channel = shader->enableTexture(LLViewerShaderMgr::ENVIRONMENT_MAP, LLTexUnit::TT_CUBE_MAP);
|
||||
diffuse_channel = -1;
|
||||
cube_map->enable(cube_channel);
|
||||
|
|
@ -336,6 +338,7 @@ void LLDrawPoolBump::bindCubeMap(LLGLSLShader* shader, S32 shader_level, S32& di
|
|||
diffuse_channel = -1;
|
||||
gGL.getTexUnit(0)->disable();
|
||||
cube_map->enable(0);
|
||||
cube_map->setMatrix(0);
|
||||
gGL.getTexUnit(0)->bind(cube_map);
|
||||
}
|
||||
}
|
||||
|
|
@ -394,6 +397,7 @@ void LLDrawPoolBump::unbindCubeMap(LLGLSLShader* shader, S32 shader_level, S32&
|
|||
// Moved below shader->disableTexture call to avoid false alarms from auto-re-enable of textures on stage 0
|
||||
// MAINT-755
|
||||
cube_map->disable();
|
||||
cube_map->restoreMatrix();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -464,6 +468,7 @@ void LLDrawPoolBump::beginFullbrightShiny()
|
|||
LLVector4 vec4(vec, gShinyOrigin.mV[3]);
|
||||
shader->uniform4fv(LLViewerShaderMgr::SHINY_ORIGIN, 1, vec4.mV);
|
||||
|
||||
cube_map->setMatrix(1);
|
||||
// Make sure that texture coord generation happens for tex unit 1, as that's the one we use for
|
||||
// the cube map in the one pass shiny shaders
|
||||
gGL.getTexUnit(1)->disable();
|
||||
|
|
@ -524,6 +529,7 @@ void LLDrawPoolBump::endFullbrightShiny()
|
|||
if( cube_map )
|
||||
{
|
||||
cube_map->disable();
|
||||
cube_map->restoreMatrix();
|
||||
shader->unbind();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -109,7 +109,7 @@ void LLPanelGroupCreate::onOpen(const LLSD& key)
|
|||
// populate list
|
||||
addMembershipRow("Base");
|
||||
addMembershipRow("Premium");
|
||||
addMembershipRow("Premium Plus");
|
||||
addMembershipRow("Premium_Plus");
|
||||
addMembershipRow("Internal");// Present only if you are already in one, needed for testing
|
||||
|
||||
S32 cost = LLAgentBenefitsMgr::current().getCreateGroupCost();
|
||||
|
|
|
|||
|
|
@ -1257,9 +1257,9 @@ void LLPanelPeople::onGroupLimitInfo()
|
|||
args["MAX_BASIC"] = max_basic;
|
||||
args["MAX_PREMIUM"] = max_premium;
|
||||
|
||||
if (LLAgentBenefitsMgr::has("Premium Plus"))
|
||||
if (LLAgentBenefitsMgr::has("Premium_Plus"))
|
||||
{
|
||||
S32 max_premium_plus = LLAgentBenefitsMgr::get("Premium Plus").getGroupMembershipLimit();
|
||||
S32 max_premium_plus = LLAgentBenefitsMgr::get("Premium_Plus").getGroupMembershipLimit();
|
||||
args["MAX_PREMIUM_PLUS"] = max_premium_plus;
|
||||
LLNotificationsUtil::add("GroupLimitInfoPlus", args);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -266,6 +266,19 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
struct CompareRenderOrder
|
||||
{
|
||||
bool operator()(const LLSpatialGroup* const& lhs, const LLSpatialGroup* const& rhs)
|
||||
{
|
||||
if (lhs->mAvatarp != rhs->mAvatarp)
|
||||
{
|
||||
return lhs->mAvatarp < rhs->mAvatarp;
|
||||
}
|
||||
|
||||
return lhs->mRenderOrder > rhs->mRenderOrder;
|
||||
}
|
||||
};
|
||||
|
||||
typedef enum
|
||||
{
|
||||
GEOM_DIRTY = LLViewerOctreeGroup::INVALID_STATE,
|
||||
|
|
@ -349,6 +362,10 @@ public:
|
|||
|
||||
F32 mPixelArea;
|
||||
F32 mRadius;
|
||||
|
||||
//used by LLVOAVatar to set render order in alpha draw pool to preserve legacy render order behavior
|
||||
LLVOAvatar* mAvatarp = nullptr;
|
||||
U32 mRenderOrder = 0;
|
||||
} LL_ALIGN_POSTFIX(64);
|
||||
|
||||
class LLGeometryManager
|
||||
|
|
|
|||
|
|
@ -4309,12 +4309,6 @@ bool init_benefits(LLSD& response)
|
|||
succ = false;
|
||||
}
|
||||
|
||||
// FIXME PREMIUM - for testing if login does not yet provide Premium Plus. Should be removed thereafter.
|
||||
//if (succ && !LLAgentBenefitsMgr::has("Premium Plus"))
|
||||
//{
|
||||
// LLAgentBenefitsMgr::init("Premium Plus", packages_sd["Premium"]["benefits"]);
|
||||
// llassert(LLAgentBenefitsMgr::has("Premium Plus"));
|
||||
//}
|
||||
return succ;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3004,6 +3004,7 @@ void LLVOAvatar::idleUpdateMisc(bool detailed_update)
|
|||
// update attachments positions
|
||||
if (detailed_update)
|
||||
{
|
||||
U32 draw_order = 0;
|
||||
for (attachment_map_t::iterator iter = mAttachmentPoints.begin();
|
||||
iter != mAttachmentPoints.end();
|
||||
++iter)
|
||||
|
|
@ -3049,9 +3050,17 @@ void LLVOAvatar::idleUpdateMisc(bool detailed_update)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
attached_object->mDrawable->makeActive();
|
||||
attached_object->mDrawable->updateXform(TRUE);
|
||||
// if selecting any attachments, update all of them as non-damped
|
||||
if (LLSelectMgr::getInstance()->getSelection()->getObjectCount() && LLSelectMgr::getInstance()->getSelection()->isAttachment())
|
||||
{
|
||||
gPipeline.updateMoveNormalAsync(attached_object->mDrawable);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Note: SL-17415; While most objects follow joints,
|
||||
// some objects get position updates from server
|
||||
gPipeline.updateMoveDampedAsync(attached_object->mDrawable);
|
||||
}
|
||||
|
||||
// override_bbox calls movePartition() and getSpatialPartition(),
|
||||
// so bridge might no longer be valid, get it again.
|
||||
|
|
@ -3069,6 +3078,13 @@ void LLVOAvatar::idleUpdateMisc(bool detailed_update)
|
|||
bridge->setState(LLDrawable::MOVE_UNDAMPED);
|
||||
bridge->updateMove();
|
||||
bridge->setState(LLDrawable::EARLY_MOVE);
|
||||
|
||||
LLSpatialGroup* group = attached_object->mDrawable->getSpatialGroup();
|
||||
if (group)
|
||||
{ //set draw order of group
|
||||
group->mAvatarp = this;
|
||||
group->mRenderOrder = draw_order++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4080,7 +4080,11 @@ void LLPipeline::postSort(LLCamera& camera)
|
|||
LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("sort alpha groups");
|
||||
if (!sShadowRender)
|
||||
{
|
||||
// order alpha groups by distance
|
||||
std::sort(sCull->beginAlphaGroups(), sCull->endAlphaGroups(), LLSpatialGroup::CompareDepthGreater());
|
||||
|
||||
// order rigged alpha groups by avatar attachment order
|
||||
std::sort(sCull->beginRiggedAlphaGroups(), sCull->endRiggedAlphaGroups(), LLSpatialGroup::CompareRenderOrder());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5438,7 +5438,7 @@ Falls der Fehler weiterhin auftritt, überprüfen Sie bitte Ihre Netzwerk- und F
|
|||
<string name="PremiumMembership">
|
||||
Premium
|
||||
</string>
|
||||
<string name="Premium PlusMembership">
|
||||
<string name="Premium_PlusMembership">
|
||||
Premium Plus
|
||||
</string>
|
||||
<string name="MembershipUpgradeText">
|
||||
|
|
|
|||
|
|
@ -2489,7 +2489,7 @@ If you continue to experience problems, please check your network and firewall s
|
|||
<!-- SL Membership -->
|
||||
<string name="BaseMembership">Base</string>
|
||||
<string name="PremiumMembership">Premium</string>
|
||||
<string name="Premium PlusMembership">Premium Plus</string>
|
||||
<string name="Premium_PlusMembership">Premium Plus</string>
|
||||
<string name="InternalMembership">Internal</string> <!-- No need to translate -->
|
||||
|
||||
<string name="MembershipUpgradeText">Upgrade to Premium</string>
|
||||
|
|
|
|||
|
|
@ -5332,7 +5332,7 @@ Si le problème persiste, vérifiez la configuration de votre réseau et de votr
|
|||
<string name="PremiumMembership">
|
||||
Premium
|
||||
</string>
|
||||
<string name="Premium PlusMembership">
|
||||
<string name="Premium_PlusMembership">
|
||||
Premium Plus
|
||||
</string>
|
||||
<string name="MembershipUpgradeText">
|
||||
|
|
|
|||
|
|
@ -5177,7 +5177,7 @@ Segnala abuso
|
|||
<string name="PremiumMembership">
|
||||
Premium
|
||||
</string>
|
||||
<string name="Premium PlusMembership">
|
||||
<string name="Premium_PlusMembership">
|
||||
Premium Plus
|
||||
</string>
|
||||
<string name="DeleteItems">
|
||||
|
|
|
|||
|
|
@ -5222,7 +5222,7 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ
|
|||
<string name="PremiumMembership">
|
||||
プレミアム会員
|
||||
</string>
|
||||
<string name="Premium PlusMembership">
|
||||
<string name="Premium_PlusMembership">
|
||||
プレミアムプラス会員
|
||||
</string>
|
||||
<string name="MembershipUpgradeText">
|
||||
|
|
|
|||
|
|
@ -5352,7 +5352,7 @@ https://www.firestormviewer.org/support за помощь в решении эт
|
|||
<string name="PremiumMembership">
|
||||
Премиум
|
||||
</string>
|
||||
<string name="Premium PlusMembership">
|
||||
<string name="Premium_PlusMembership">
|
||||
Премиум Плюс
|
||||
</string>
|
||||
<string name="MembershipUpgradeText">
|
||||
|
|
|
|||
Loading…
Reference in New Issue