You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I noticed a couple of shaders from legacy maps which were rendered wrong with my naive overbright implementation due to the color buffer and fragment shader outputs being restricted to [0, 1], which could have been rendered as a single stage:
Hand-written "light style" on metro-b1-2. Only rgbgen identity colormaps are collapsed, but I think any rgbgen should be allowed.
Also stage auto collapsing code should be NUKED for any kind of stage which didn't exist in Tremulous. Modern map types like physical map should be grouped in a single stage in the first place. It would seem devs of Xreal or whatever it was were targeting some awful alternate syntax where every image (glowmap, physicalmap, normalmap, etc.) has to be written like a separate stage.
The text was updated successfully, but these errors were encountered:
Modern map types like physical map should be grouped in a single stage in the first place. It would seem devs of Xreal or whatever it was were targeting some awful alternate syntax where every image (glowmap, physicalmap, normalmap, etc.) has to be written like a separate stage.
That syntax was inspired from Doom3 (XreaL mimicked Doom 3) as far as I know. We moved to pre-collapsed stages when I implemented specular/normal maps on terrain blended shaders (since each blended stage, for example rock and sand, can have their own specular/normal maps).
In the past all of our shaders making use of specular/normal maps were using the old doom3 syntax, but once pre-collapsed stages were implemented we printed very loud warnings on legacy separate specular/normal stages so there should not be much of them left.
2. Grate texture in pulse. This one is trickier, we'd have to recognize the depthWrite + depthfunc equal pattern.
There's apparently some check in tr_shader that the shader doesn't have GLS_DEPTHFUNC_EQUAL to add a depth shader to it, not sure why. Other than that it should be possible to collapse that without doing anything extra.
I noticed a couple of shaders from legacy maps which were rendered wrong with my naive overbright implementation due to the color buffer and fragment shader outputs being restricted to [0, 1], which could have been rendered as a single stage:
metro-b1-2
. Onlyrgbgen identity
colormaps are collapsed, but I think any rgbgen should be allowed.pulse
. This one is trickier, we'd have to recognize thedepthWrite
+depthfunc equal
pattern.Also stage auto collapsing code should be NUKED for any kind of stage which didn't exist in Tremulous. Modern map types like physical map should be grouped in a single stage in the first place. It would seem devs of Xreal or whatever it was were targeting some awful alternate syntax where every image (glowmap, physicalmap, normalmap, etc.) has to be written like a separate stage.
The text was updated successfully, but these errors were encountered: