-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Broken lantern/candle in metro map, light emitting shader is displayed #322
Comments
Is there is a way to get the map uploaded to the issue? I can't find any "metro" map. |
Related: #730 |
It looks like the “light emitting shader is displayed” issue is fixed: So it remains the issue about the missing flame/fire sprite effect, let track this in a dedicated thread: |
It's not fixed. I assume the above screenshots were mistakenly done with a branch I forgot about that would fix them in sources. Using the tremulous build it's still broken. |
This is fixed now by the autosprite stuff. |
Some of the unwanted surfaces are still there: #1406 (comment) Just the ones that were part of the flames were fixed. |
I've noticed this issue a long time ago, but #301 seems to also trigger it in Terminus. It may be time to look at it…
Look at those candles and lanterns, how they look in Unvanquished:
And how they look in Tremulous:
Along with the flame, you'll notice those square textures in NetRadiant (those things are
misc_model
entities so they are meant to be baked in BSP):Those squares textures are in fact… light emitting shaders, that's a clever hack to ship an md3 model with built-in lighting (with light orientation etc.). We see how those light emitting shaders are set:
The one floating above or in front of the lantern is meant to use the back splash feature of the light emitting shader to lit the ground or the wall.
This is the code for the square light emitting shader:
What's weird is that this lightmap is not meant to be displayed at all so I don't know why there is a lightmap stage, maybe to be sure the compiler will not ignore the shader and the light will be emitted.
The
blendFunc filter
operation is the default operation to blend a lightmap over a diffuseMap. What's weird is that if we don't take in account this material is not meant to be rendered, this is a lightmap blended with nothing. This is like undefined behaviour.Then, if we look at the code of the candle flame shader:
It's an animMap blended with
add
operation (like glow maps), added over… nothing.Note that those pictures are jpeg with black bacground, the right operation may be
alphaFunc GT0
oralphaFunc GE128
.The blendFunc are usually used to blend multiple stage within shaders, that's not the same purpose.
This time, the material must be displayed, but not the way it is.
The text was updated successfully, but these errors were encountered: