Skip to content

Add Legacy Emissive Texture Category#109

Open
sambow23 wants to merge 1 commit into
NVIDIAGameWorks:mainfrom
sambow23:le-prod
Open

Add Legacy Emissive Texture Category#109
sambow23 wants to merge 1 commit into
NVIDIAGameWorks:mainfrom
sambow23:le-prod

Conversation

@sambow23

@sambow23 sambow23 commented Aug 28, 2025

Copy link
Copy Markdown
Contributor

This new texture category allows a user to mark legacy, non-replaced textures that use the alpha channel for emission, so the effect is recreated in Remix.

Features:

  • Control the intensity, tint, and inversion of the emissive for each texture individually
  • Basic Remix API support to add/remove textures from the game (planning to add the other controls as well)

Screenshots from @skurtyyskirts and me
gmod_iJuPBOj3G7
gmod_qcl3qovXAD

image image image remix rasterized

@pkristof

pkristof commented Oct 6, 2025

Copy link
Copy Markdown
Collaborator

Is this meant to be in draft mode?

@sambow23

sambow23 commented Oct 6, 2025

Copy link
Copy Markdown
Contributor Author

When I originally submitted the PR, I had a few more things I wanted to add so I left it as a draft, but life has gotten busy so I'm not sure when I will be able to return to this, so I'll change it back into a normal PR.

@sambow23 sambow23 marked this pull request as ready for review October 6, 2025 17:54
@nv-jshopf

Copy link
Copy Markdown
Collaborator

Tracked internally by REMIX-5134

Comment on lines +2188 to +2194
if (ImGui::ColorEdit3("##emissive_color", colorArray, ImGuiColorEditFlags_NoInputs)) {
// Update the color map
legacyEmissiveColors[texHash] = Vector3(colorArray[0], colorArray[1], colorArray[2]);

// Convert back to string and save
std::string colorString = RtxOptions::legacyEmissiveColorsToString(legacyEmissiveColors);
RtxOptions::legacyEmissiveColorsStringObject().setDeferred(colorString);

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Anything more complicated than a list of hashes should be set in the mod.usda, not as an RtxOption.

If this feature was limited to just treating alpha as emissive strength (using the normal color texture as the emissive color), with global settings for the emissive strength of everything in the category, it would be more acceptable. Serializing a dictionary of properties into a string like this is problematic for a number of reasons.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants