NVIDIAGameWorks / NVIDIAGameWorks/rtx-remix
[Question] Emission with alpha blending?
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 1.7k
- Forks
- 99
- PR merge metrics
- No merged PRs in 30d
Description
In many classic games, a texture with transparency is often used to represent a special effect which is usually associated with light-emitting phenomena, such as electrical sparks, fireballs, magical effects, etc etc
In RTX Remix, these textures are rendered at 'full brightness' which includes seeing them in reflections, however they do not actually give any light to their surroundings, which makes them look like they are still being imposed by the technological limitations of their original games.
In this example, I am attempting to turn this 'sparking' effect into an actual light source. This is the actual .dds texture as captured:
- Emission: For this material I have enabled Emission in RTX Remix , edited the .dds file in Paint Dot Net by messing with the brightness and contrast and setting the saturation to zero(reason explained below), then saving it as a .png file, before ingesting it into Remix as the Emissive Mask Map.
- Alpha blending : I have enabled 'Blend Enabled', and I am testing out the various blend modes.
- With 'Use Legacy Alpha State' checked, it appears visually identical to 'AlphaEmissive' , suggesting that this is the original blend mode:
- When the blend mode is set to 'Alpha' , the entire Emissive Mask Map appears in place of the intended texture and the lighting works:
- 'ReverseAlphaEmissive' :
- 'Color' , similar to 'Alpha' but only the parts of the Emissive Mask Map which are not black are rendered:
- 'ColorEmissive' :
- 'ReverseColorEmissive' :
- 'Emissive':
- 'Multiplicative' and 'DoubleMultiplicative', looks identical, seems that Blend Enabled has no effect:
It is possible for a game to use a single material, then change a parameter in the alpha blending in order to shade it with different colours for different purposes, for example a generic 'lens flare' texture might be given a blue colour to represent an energy weapon or magic spell, and a yellow colour to represent a simple light bulb or candle flame, for instance. Or in the case of this example, it is rapidly cycling through different purplish hues to represent electrical discharge. In other areas of the game, it is given a dark orange colour as a weapon's firing effect, as well being bright yellow a health pickup orb. Thus necessitating 'Use Legacy Alpha State' to preserve these effects.
(This is is the reason for my Emissive Mask Map image to be pure white, as a compromise between the different in-game representations - they all appear white instead of their original colours.)
As it stands now, I have the choice between having this static white light which is the wrong colour but lights up the scene , or the original colour-changing special effects which do not actually emit any light.
Is it possible for one of the 'emissive' blend modes to actually emit light?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the RTX Remix material settings described here, especially Emission, Blend Enabled, the emissive blend modes, and Use Legacy Alpha State. Reproduce the reported behavior with the supplied sparking texture and compare the blend modes. Done would mean determining whether a blend mode can preserve the original color-changing effect while contributing light, or documenting why it cannot.
Written by the indexing model from the issue text.
Assessment
- Domain
- computer-graphics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100