SL-19148 Decruft followthrough -- fix for crash when running from installer. Feed fresnel component into PBR alpha. Remove obsolete "shader_hierarchy.txt", remove redundant LL_PROFILE_ZONE_SCOPED, remove unused shader feature flag.
parent
9b9f8116c5
commit
c8fb3ad4de
|
|
@ -82,8 +82,7 @@ BOOL shouldChange(const LLVector4& v1, const LLVector4& v2)
|
|||
}
|
||||
|
||||
LLShaderFeatures::LLShaderFeatures()
|
||||
: atmosphericHelpers(false)
|
||||
, calculatesLighting(false)
|
||||
: calculatesLighting(false)
|
||||
, calculatesAtmospherics(false)
|
||||
, hasLighting(false)
|
||||
, isAlphaLighting(false)
|
||||
|
|
|
|||
|
|
@ -35,7 +35,6 @@
|
|||
class LLShaderFeatures
|
||||
{
|
||||
public:
|
||||
bool atmosphericHelpers;
|
||||
bool calculatesLighting;
|
||||
bool calculatesAtmospherics;
|
||||
bool hasLighting; // implies no transport (it's possible to have neither though)
|
||||
|
|
|
|||
|
|
@ -616,7 +616,7 @@ GLuint LLShaderMgr::loadShaderFile(const std::string& filename, S32 & shader_lev
|
|||
*/
|
||||
|
||||
LL_DEBUGS("ShaderLoading") << "Looking in " << open_file_name << LL_ENDL;
|
||||
file = LLFile::fopen(open_file_name, "r+"); /* Flawfinder: ignore */
|
||||
file = LLFile::fopen(open_file_name, "r"); /* Flawfinder: ignore */
|
||||
if (file)
|
||||
{
|
||||
LL_DEBUGS("ShaderLoading") << "Loading file: " << open_file_name << " (Want class " << gpu_class << ")" << LL_ENDL;
|
||||
|
|
|
|||
|
|
@ -113,6 +113,8 @@ vec3 pbrPunctual(vec3 diffuseColor, vec3 specularColor,
|
|||
vec3 v, // surface point to camera
|
||||
vec3 l); //surface point to light
|
||||
|
||||
vec2 BRDF(float NoV, float roughness);
|
||||
|
||||
vec3 calcPointLightOrSpotLight(vec3 diffuseColor, vec3 specularColor,
|
||||
float perceptualRoughness,
|
||||
float metallic,
|
||||
|
|
@ -217,8 +219,12 @@ void main()
|
|||
calcDiffuseSpecular(col.rgb, metallic, diffuseColor, specularColor);
|
||||
|
||||
vec3 v = -normalize(pos.xyz);
|
||||
|
||||
color = pbrBaseLight(diffuseColor, specularColor, metallic, v, norm.xyz, perceptualRoughness, light_dir, sunlit, scol, radiance, irradiance, colorEmissive, ao, additive, atten);
|
||||
|
||||
float nv = clamp(abs(dot(norm.xyz, v)), 0.001, 1.0);
|
||||
vec2 brdf = BRDF(clamp(nv, 0, 1), 1.0-perceptualRoughness);
|
||||
|
||||
vec3 light = vec3(0);
|
||||
|
||||
// Punctual lights
|
||||
|
|
@ -235,5 +241,11 @@ void main()
|
|||
color.rgb += light.rgb;
|
||||
|
||||
|
||||
frag_color = vec4(color.rgb,basecolor.a * vertex_color.a);
|
||||
float a = basecolor.a*vertex_color.a;
|
||||
vec3 spec = radiance; // *specularColor;
|
||||
float lum = max(max(spec.r, spec.g), spec.b);
|
||||
|
||||
float f = brdf.y;
|
||||
a += f;
|
||||
frag_color = vec4(color.rgb,a);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +0,0 @@
|
|||
Second Life shader variants are referred to as "classes."
|
||||
|
||||
When a shader of a particular class is loaded, a lower class may
|
||||
be loaded if the class requested doesn't exist or fails to load
|
||||
for any reason. In general, shaders that require more resources
|
||||
or later hardware capabilities should be higher class and
|
||||
lower classes can be used for fallback implementations or lower
|
||||
detail settings.
|
||||
|
||||
Which class is chosen will generally depend on graphics preferences.
|
||||
|
||||
Previously, someone tried to enumerate the shaders here, but don't do
|
||||
that. It messes with searches and the shader hierarchy changes often.
|
||||
|
||||
|
||||
|
|
@ -65,7 +65,6 @@ void LLDrawPoolTree::beginDeferredPass(S32 pass)
|
|||
void LLDrawPoolTree::renderDeferred(S32 pass)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
|
||||
if (mDrawFace.empty())
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue