Emissive Textures - KitCat962/FiguraRewriteRewrite GitHub Wiki

This page describes everything to know about Emissive Textures.

Defining a Texture as Emissive

Every ModelPart in BlockBench has a reference to a single texture. When Figura loads the avatar, Figura looks for a texture with the same name as the texture used by the ModelPart but with _e added to the end of it. For example, the emissive texture used by ModelParts that use texture.png will use texture_e.png as their emissive texture. _e is one of the texture suffixes that Figura looks for when loading an avatar.

Emissive Texture Behavior

The pixels on a Texture using the "EMISSIVE" RenderType are not interpreted the same was as a regular texture.

First of all, the alpha values of pixels are ignored. This means that the emissive texture itself cannot be halfway visible. Its either the pixel is completely opaque, or completely gone. No in between. On the texture below, both pixels will render the exact same. Even though they appear to be 2 distinct colors, the right color has an alpha value of 139 and is blending with the gray GitHub background. They have the exact same RGB values and will be rendered exactly the same under the "EMISSIVE" RenderType.

Second, the "brightness" of a pixel is what determines the intensity of the emissive glow. If you know HSV, its the Value that controls this property. Emissive Intensity controls how bright the pixel will render, but also how much of the pixel behind it will show through. On the texture below, both pixels will render with the same color. The pixel on the left will render with max brightness, not allowing the pixels on the base texture to blend through. The pixel on the right won't glow as much, but allows the pixels on the base texture to blend through.

Iris Emissives

If you use Iris, regardless of the fact of if you are currently using custom shaders, the "EMISSIVE" RenderType is modified to use the alpha value when rendering the emissive texture. How exactly is not known. Experimentation is required.