Fix shader link fail from forward decl of wrong soft clip func in class 1.
Fix trying to bind diffuse maps for shader without uniform in shadow shaders. Clean up merge fail around mShaderLevel namechange.meow-7.2.2
parent
d78ed764b5
commit
e4bac71ac3
|
|
@ -73,8 +73,7 @@ vec3 fullbrightAtmosTransportFrag(vec3 l, vec3 additive, vec3 atten);
|
|||
|
||||
void calcFragAtmospherics(vec3 inPositionEye, float ambFactor, out vec3 sunlit, out vec3 amblit, out vec3 additive, out vec3 atten);
|
||||
|
||||
vec3 scaleSoftClip(vec3 l);
|
||||
vec3 fullbrightScaleSoftClip(vec3 l);
|
||||
vec3 scaleSoftClipFrag(vec3 l);
|
||||
|
||||
vec4 getPositionWithDepth(vec2 pos_screen, float depth);
|
||||
|
||||
|
|
@ -145,8 +144,6 @@ void main()
|
|||
|
||||
if (norm.w < 0.5)
|
||||
{
|
||||
//col = mix(atmosFragLighting(col, additive, atten), fullbrightAtmosTransportFrag(col, additive, atten), diffuse.a);
|
||||
//col = mix(scaleSoftClipFrag(col), fullbrightScaleSoftClipFrag(col, additive, atten), diffuse.a);
|
||||
col = atmosFragLighting(col, additive, atten);
|
||||
col = scaleSoftClipFrag(col);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -455,8 +455,13 @@ void LLDrawPoolAvatar::beginShadowPass(S32 pass)
|
|||
sVertexProgram = &gDeferredAvatarAlphaShadowProgram;
|
||||
|
||||
// bind diffuse tex so we can reference the alpha channel...
|
||||
sDiffuseChannel = sVertexProgram->enableTexture(LLViewerShaderMgr::DIFFUSE_MAP);
|
||||
|
||||
S32 loc = sVertexProgram->getUniformLocation(LLViewerShaderMgr::DIFFUSE_MAP);
|
||||
sDiffuseChannel = 0;
|
||||
if (loc != -1)
|
||||
{
|
||||
sDiffuseChannel = sVertexProgram->enableTexture(LLViewerShaderMgr::DIFFUSE_MAP);
|
||||
}
|
||||
|
||||
if ((sShaderLevel > 0)) // for hardware blending
|
||||
{
|
||||
sRenderingSkinned = TRUE;
|
||||
|
|
@ -470,8 +475,13 @@ void LLDrawPoolAvatar::beginShadowPass(S32 pass)
|
|||
sVertexProgram = &gDeferredAvatarAlphaMaskShadowProgram;
|
||||
|
||||
// bind diffuse tex so we can reference the alpha channel...
|
||||
sDiffuseChannel = sVertexProgram->enableTexture(LLViewerShaderMgr::DIFFUSE_MAP);
|
||||
|
||||
S32 loc = sVertexProgram->getUniformLocation(LLViewerShaderMgr::DIFFUSE_MAP);
|
||||
sDiffuseChannel = 0;
|
||||
if (loc != -1)
|
||||
{
|
||||
sDiffuseChannel = sVertexProgram->enableTexture(LLViewerShaderMgr::DIFFUSE_MAP);
|
||||
}
|
||||
|
||||
if ((sShaderLevel > 0)) // for hardware blending
|
||||
{
|
||||
sRenderingSkinned = TRUE;
|
||||
|
|
@ -485,7 +495,12 @@ void LLDrawPoolAvatar::beginShadowPass(S32 pass)
|
|||
sVertexProgram = &gDeferredAttachmentAlphaShadowProgram;
|
||||
|
||||
// bind diffuse tex so we can reference the alpha channel...
|
||||
sDiffuseChannel = sVertexProgram->enableTexture(LLViewerShaderMgr::DIFFUSE_MAP);
|
||||
S32 loc = sVertexProgram->getUniformLocation(LLViewerShaderMgr::DIFFUSE_MAP);
|
||||
sDiffuseChannel = 0;
|
||||
if (loc != -1)
|
||||
{
|
||||
sDiffuseChannel = sVertexProgram->enableTexture(LLViewerShaderMgr::DIFFUSE_MAP);
|
||||
}
|
||||
|
||||
if ((sShaderLevel > 0)) // for hardware blending
|
||||
{
|
||||
|
|
@ -500,7 +515,12 @@ void LLDrawPoolAvatar::beginShadowPass(S32 pass)
|
|||
sVertexProgram = &gDeferredAttachmentAlphaMaskShadowProgram;
|
||||
|
||||
// bind diffuse tex so we can reference the alpha channel...
|
||||
sDiffuseChannel = sVertexProgram->enableTexture(LLViewerShaderMgr::DIFFUSE_MAP);
|
||||
S32 loc = sVertexProgram->getUniformLocation(LLViewerShaderMgr::DIFFUSE_MAP);
|
||||
sDiffuseChannel = 0;
|
||||
if (loc != -1)
|
||||
{
|
||||
sDiffuseChannel = sVertexProgram->enableTexture(LLViewerShaderMgr::DIFFUSE_MAP);
|
||||
}
|
||||
|
||||
if ((sShaderLevel > 0)) // for hardware blending
|
||||
{
|
||||
|
|
@ -513,7 +533,12 @@ void LLDrawPoolAvatar::beginShadowPass(S32 pass)
|
|||
else // SHADOW_PASS_ATTACHMENT_OPAQUE
|
||||
{
|
||||
sVertexProgram = &gDeferredAttachmentShadowProgram;
|
||||
sDiffuseChannel = sVertexProgram->enableTexture(LLViewerShaderMgr::DIFFUSE_MAP);
|
||||
S32 loc = sVertexProgram->getUniformLocation(LLViewerShaderMgr::DIFFUSE_MAP);
|
||||
sDiffuseChannel = 0;
|
||||
if (loc != -1)
|
||||
{
|
||||
sDiffuseChannel = sVertexProgram->enableTexture(LLViewerShaderMgr::DIFFUSE_MAP);
|
||||
}
|
||||
sVertexProgram->bind();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -58,8 +58,6 @@ public:
|
|||
~LLDrawPoolAvatar();
|
||||
/*virtual*/ BOOL isDead();
|
||||
|
||||
virtual S32 getShaderLevel() const;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
RIGGED_MATERIAL=0,
|
||||
|
|
@ -178,7 +176,7 @@ typedef enum
|
|||
|
||||
virtual U32 getVertexDataMask() { return VERTEX_DATA_MASK; }
|
||||
|
||||
virtual S32 getVertexShaderLevel() const;
|
||||
virtual S32 getShaderLevel() const;
|
||||
|
||||
LLDrawPoolAvatar();
|
||||
|
||||
|
|
|
|||
|
|
@ -249,7 +249,7 @@ void LLDrawPoolTerrain::renderDeferred(S32 pass)
|
|||
// Special-case for land ownership feedback
|
||||
if (gSavedSettings.getBOOL("ShowParcelOwners"))
|
||||
{
|
||||
hilightParcelOwners();
|
||||
hilightParcelOwners(true);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1300,7 +1300,7 @@ BOOL LLViewerShaderMgr::loadShadersDeferred()
|
|||
gDeferredHighlightProgram.mShaderFiles.clear();
|
||||
gDeferredHighlightProgram.mShaderFiles.push_back(make_pair("interface/highlightV.glsl", GL_VERTEX_SHADER_ARB));
|
||||
gDeferredHighlightProgram.mShaderFiles.push_back(make_pair("deferred/highlightF.glsl", GL_FRAGMENT_SHADER_ARB));
|
||||
gDeferredHighlightProgram.mShaderLevel = mVertexShaderLevel[SHADER_INTERFACE];
|
||||
gDeferredHighlightProgram.mShaderLevel = mShaderLevel[SHADER_INTERFACE];
|
||||
success = gDeferredHighlightProgram.createShader(NULL, NULL);
|
||||
}
|
||||
|
||||
|
|
@ -1310,7 +1310,7 @@ BOOL LLViewerShaderMgr::loadShadersDeferred()
|
|||
gDeferredHighlightNormalProgram.mShaderFiles.clear();
|
||||
gDeferredHighlightNormalProgram.mShaderFiles.push_back(make_pair("interface/highlightNormV.glsl", GL_VERTEX_SHADER_ARB));
|
||||
gDeferredHighlightNormalProgram.mShaderFiles.push_back(make_pair("deferred/highlightF.glsl", GL_FRAGMENT_SHADER_ARB));
|
||||
gDeferredHighlightNormalProgram.mShaderLevel = mVertexShaderLevel[SHADER_INTERFACE];
|
||||
gDeferredHighlightNormalProgram.mShaderLevel = mShaderLevel[SHADER_INTERFACE];
|
||||
success = gHighlightNormalProgram.createShader(NULL, NULL);
|
||||
}
|
||||
|
||||
|
|
@ -1320,7 +1320,7 @@ BOOL LLViewerShaderMgr::loadShadersDeferred()
|
|||
gDeferredHighlightSpecularProgram.mShaderFiles.clear();
|
||||
gDeferredHighlightSpecularProgram.mShaderFiles.push_back(make_pair("interface/highlightSpecV.glsl", GL_VERTEX_SHADER_ARB));
|
||||
gDeferredHighlightSpecularProgram.mShaderFiles.push_back(make_pair("deferred/highlightF.glsl", GL_FRAGMENT_SHADER_ARB));
|
||||
gDeferredHighlightSpecularProgram.mShaderLevel = mVertexShaderLevel[SHADER_INTERFACE];
|
||||
gDeferredHighlightSpecularProgram.mShaderLevel = mShaderLevel[SHADER_INTERFACE];
|
||||
success = gDeferredHighlightSpecularProgram.createShader(NULL, NULL);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4974,7 +4974,7 @@ void LLVolumeGeometryManager::registerFace(LLSpatialGroup* group, LLFace* facep,
|
|||
if ( type == LLRenderPass::PASS_ALPHA
|
||||
&& facep->getTextureEntry()->getMaterialParams().notNull()
|
||||
&& !facep->getVertexBuffer()->hasDataType(LLVertexBuffer::TYPE_TANGENT)
|
||||
&& LLViewerShaderMgr::instance()->getVertexShaderLevel(LLViewerShaderMgr::SHADER_OBJECT) > 1)
|
||||
&& LLViewerShaderMgr::instance()->getShaderLevel(LLViewerShaderMgr::SHADER_OBJECT) > 1)
|
||||
{
|
||||
LL_WARNS_ONCE("RenderMaterials") << "Oh no! No binormals for this alpha blended face!" << LL_ENDL;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue