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.

master
Dave Parks 2023-02-06 10:28:26 -06:00
parent 9b9f8116c5
commit c8fb3ad4de
6 changed files with 15 additions and 21 deletions

View File

@ -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)

View File

@ -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)

View File

@ -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;

View File

@ -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);
}

View File

@ -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.

View File

@ -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())
{