## Background
In the last year, the cost of Gaming hardware like RAM and Graphics Cards has risen dramatically.
At the same time, we have users on older hardware that due to the prohibitive expense are unlikely to upgrade their hardware any time soon and intentionally sticking to non-PBR viewers for better performance.
We can no longer count on people having newer, faster computers in the future. Companies like nvidia are starting to resurrect discontinued lines of older generation graphics cards due to supply issues. The problem seems likely to last several years.
## The Challenge
PBR Materials do not display on non-PBR capable viewers. This means that creators who wish to support these customers should provide fallbacks well into the future. Currently this is quite complex, espescially on things like clothing items with texture changers.
Creators of Clothes, and Hair and many other types of products typically need to make texture-changers. Scripting these to have fallbacks runs into all kinds of technical challenges such as permission issues etc. A customer might also edit their PBR material with an override texture that we do not have permissions to.
## Proposed Solution
Make it easy to declare to the sim that a face should use the PBR Base Color texture as the Blinn-Phong diffuse color via a script.
I propose extending
llSetLinkGLTFOverrides
to have
OVERRIDE_GLTF_AUTO_FALLBACK
which has the following behavior:-
eg.
llSetLinkGLTFOverrides( LINK_SET, ALL_SIDES, [OVERRIDE_GLTF_AUTO_FALLBACK, TRUE]);
When set to
TRUE
, a flag is held on the object.
  • The simulator will immediately set the BlinnPhong diffuse texture and tint to whatever is set on the PBR material, factoring overrides, with the same repeats/rotation etc.
  • Whenever the PBR Material changes, the Simulator will check for this flag, and Sync across the new Base Color settings to the Blinn Phong parameters.
It will not check permissions.
When set to
FALSE
(the default behavior), the simulator will no longer automatically sync it across.