# (Dawntrail) Shader Reference Table
This page is a list of tables with explinations/annotations of how the New shaders in dawntrail work. Most of this page has been adapted from the Textools Reference Document by Sel. Extra information is added based on research and conversations in modding creation discords, mainly the Textools, Penumbra, and Bibo+ Discords.
This page is partially incomplete as we still do not fully understand every shader. Shaders with entirely blank boxes are those that we know exist, but do not understand how they work. Any important notes or observations about these shaders will be notated below their shader tables in Red.
---
##### The following explains how each color/data channel is used in each shader.
##### Channels are listed by their Default Behavior whenever variable.
##### Channels listed in **Purple** are variable and affected by shader keys. These will be listed Below each main table for the shader, before any notes or annotations.
##### **S**ub**S**urface **S**cattering (SSS) and Fur Settings are controlled by the same channels/fields when applicable
*Please note that all textures making use of an alpha channel for non-transparency should be saved as either **.DDS** or **.TGA** when bringing it in/out of an art program. PNG frequently gets mishandled by programs and ends up "eating" the alpha channel or forcing it as transparency, which destroys the data used.*
FFXIV uses the OpenGL format for Normal map direction (Y+ up if you are using a software with diffuse to normal generation capabilities)
For easier editing using this document as a reference in penumbra, Please grab and use Nylfae's Penumbra material development kit. this only works for penumbra, but the data in this document is tool-agnostic and will work regardless of tool used. this kit renames constants and data in penumbra to make them more Human readable, though for clarity, all data names will use both the textools and penumbra kit variants. [https://heliosphere.app/mod/bktfny69y57gf4y42bp4tn5z38](https://heliosphere.app/mod/bktfny69y57gf4y42bp4tn5z38)
Linked as attachments on this page are some substance painter export and material settings for easier authoring of textures via substance painter, using the shader settings from this page.
Currently, we have Bacara and SB!(Skateboards)'s templates. Information from the mod's modpage descriptions has been added into the .rar files as readme Text documents. (.rar is a type of zipped folder with better compression. it can be extracted with either WinRar or 7Zip)
As of dawntrail, FF14's shader useage is similar to Unreal Engine 4, but slightly modified and different. It is closest to UE4's ORM and ORS formats, for those familiar with UE4 (Thank you to Bacara)
Character.shpk (Gear & Monster Shader) |
Texture Data |
Normal Texture | Mask Texture |
RED | Standard Tangent Space Normal Map | RED | Specular Power \* |
GREEN | Standard Tangent Space Normal Map | GREEN | Roughness |
BLUE | Opacity | BLUE | Ambient Occlusion |
ALPHA | Unused | ALPHA | Unused |
Diffuse Texture | Specular Texture |
RED | Standard Color Data | RED | Standard Color Data |
GREEN | Standard Color Data | GREEN | Standard Color Data |
BLUE | Standard Color Data | BLUE | Standard Color Data |
ALPHA | ??? | ALPHA | ??? |
Index Texture | Flow Texture |
RED | Colorset Pair (0-16) | RED | ??? |
GREEN | Colorset Even/Odd Blending | GREEN | ??? |
BLUE | Unused | BLUE | ??? |
ALPHA | Unused | ALPHA | ??? |
Model Data |
Vertex Color 1 | Vertex Color 2 |
RED | Specular Mask | RED | Faux-Wind Influence |
GREEN | Roughness | GREEN | Faux-Wind Multiplier |
BLUE | Diffuse Mask | BLUE | ??? |
ALPHA | Opacity | ALPHA | ??? |
UV Channel 1 | UV Channel 2 |
UV | Normal UV Channel | UV | Decal UV Channel (FC Crests, etc.) |
Texture Mode - Diffuse Texture |
Key : B616DC5A |
Value | Effect |
DEFAULT | Default Mask Texture Mode |
COMPATIBILITY | Used to enable Diffuse Texture |
SIMPLE | Unknown |
|
|
Flow Map Mode? - Flow Texture |
Key : 40D1481E |
Value | Effect |
337C6BC4 | Standard Value |
71ADA939 | Enable Flow Map? |
|
|
|
|
Specular Mode - Specular Texture |
Key : C8BD1DEF |
Value | Effect |
OFF | No Specular Texture |
MASK | Use Mask sampler for Specular |
DEFAULT | Use Spec sampler for Specular |
A7D2FF60 | Unknown |
Vertex Color Mode - Model Vertex Colors |
Key : F52CCF05 |
Value | Effect |
MASK | Use as Mask |
COLOR | Use as Diffuse Color |
DFE74BAC | Unknown |
5CC605B5 | Unknown |
Decal Mode - Model UV2 Layer |
Key : D2777173 |
Value | Effect |
OFF | No Decals |
COLOR | Use as Color Decal Placement |
ALPHA | Use as Alpha Decal Placement |
|
|
This is the standard shader used for most things you would mod (gear, minions, mounts, weapons) that are not options tied to the CHaracter creator. This shader will probbaly be the one you look at most often. There are a few other things that this shader can do based on keys, and I will explain them below.
This shader can make use of a field named "Effect ID". There appear to be 5 total shader effects, and number 3 Is what's used for a holographic/iridescent effect seen on some new gear. In order to utilize these effects, you must also set a value for "Effect Opacity". 0 means there will be no effect, 1 is full effect, and over 1 appears to be multiplicative. This effect is only possible on gear with the new Character shader, and not Character Legacy (the endwalker compatability version of this shader).
Number 1 seems to apply a "clear vinyl overlayer" effect
\* It is believed from further investigation that the mask map Red channel is actually closer to metallic useage than specular power, however due to the fact that metallicity is also controlled via the colorset values, This chart will continue to mark it as specular power, as it is also what the community has found to work fairly ok. (thank you to Bacara for this information)
CharacterLegacy.shpk (Endwalker Gear & Monster Shader) |
Texture Data |
Normal Texture | Mask Texture |
RED | Standard Tangent Space Normal Map | RED | Specular Power |
GREEN | Standard Tangent Space Normal Map | GREEN | Gloss |
BLUE | Opacity | BLUE | Ambient Occlusion |
ALPHA | Unused | ALPHA | Unused |
Diffuse Texture | Specular Texture |
RED | Standard Color Data | RED | Standard Color Data |
GREEN | Standard Color Data | GREEN | Standard Color Data |
BLUE | Standard Color Data | BLUE | Standard Color Data |
ALPHA | Unused | ALPHA | Unused |
Index Texture | -- |
RED | Colorset Pair (0-16) | RED | |
GREEN | Colorset Even/Odd Blending | GREEN | |
BLUE | ??? | BLUE | |
ALPHA | ??? | ALPHA | |
Model Data |
Vertex Color 1 | Vertex Color 2 |
RED | Diffuse Mask | RED | ??? |
GREEN | Gloss | GREEN | ??? |
BLUE | Specular Mask | BLUE | ??? |
ALPHA | Opacity | ALPHA | ??? |
UV Channel 1 | UV Channel 2 |
UV | Normal UV Channel | UV | Decal UV Channel (FC Crests, etc.) |
Texture Mode - Diffuse Texture |
Key : B616DC5A |
Value | Effect |
DEFAULT | Default Mask Texture Mode |
COMPATIBILITY | Used to enable Diffuse Texture |
SIMPLE | Unknown |
|
|
Specular Mode - Specular Texture |
Key : C8BD1DEF |
Value | Effect |
OFF | No Specular Texture |
MASK | Use Mask sampler for Specular |
DEFAULT | Use Spec sampler for Specular |
A7D2FF60 | Unknown |
Vertex Color Mode - Model Vertex Colors |
Key : F52CCF05 |
Value | Effect |
MASK | Use as Mask |
COLOR | Use as Diffuse Color |
DFE74BAC | Unknown |
5CC605B5 | Unknown |
Decal Mode - Model UV2 Layer |
Key : D2777173 |
Value | Effect |
OFF | No Decals |
COLOR | Use as Color Decal Placement |
ALPHA | Use as Alpha Decal Placement |
|
|
This is the Character Legacy shader. It is a port of the old endwalker shader for compatability with old assets that have not been updated by Square Enix. It is Not reccommended to continue creating anything for this shader, as it is not able to do all the things that the new Character shader can. Most Assets will still be using this shader unless updated by Square Enix or a modder. This shader is to our knowledge, not capable of handling some of the extra shader effects that the new Character shader can.
Skin.shpk (Character Skin Shader) |
Texture Data |
Normal Texture | Mask Texture |
RED | Standard Tangent Space Normal Map | RED | Specular Power |
GREEN | Standard Tangent Space Normal Map | GREEN | Roughness |
BLUE | Skin Color Influence | BLUE | SSS Thickness/Fur Parallax \* |
ALPHA | Tilemap Mask | ALPHA | Hair Highlight Color Influence \* |
Diffuse Texture | -- |
RED | Standard Color Data | RED | |
GREEN | Standard Color Data | GREEN | |
BLUE | Standard Color Data | BLUE | |
ALPHA | Opacity | ALPHA | |
Model Data |
Vertex Color 1 | Vertex Color 2 |
RED | Muscle Slider Influence | RED | Unused (?) |
GREEN | Unused | GREEN | Unused (?) |
BLUE | ??? | BLUE | Unused (?) |
ALPHA | Shadow Castin On/Off
| ALPHA | Unused (?) |
UV Channel 1 | UV Channel 2 |
UV | Normal UV Channel | UV | Decal UV Channel (Legacy Mark) |
Skin Type - Normal Alpha Channel |
Key : 380CAED0 |
Value | Effect |
BODY | Use as Wetness/Tile Mask |
FACE | Use as Lip Mask |
HRO | Use as Hair Mask \* |
EMISSIVE
| Use as Emissive mask
|
\* Also enables Mask Alpha |
Vertex Color Mode - Model Vertex Colors |
Key : F52CCF05 |
Value | Effect |
MASK | Use as Mask |
COLOR | Use as Diffuse Color |
DFE74BAC | Unknown |
5CC605B5 | Unknown |
|
|
Texture Mode - Normal Texture |
Key : B616DC5A |
Value | Effect |
DEFAULT | ?? |
COMPATIBILITY | Restores EW Normal Map Use |
SIMPLE | ?? |
|
|
Decal Mode - Model UV2 Layer |
Key : D2777173 |
Value | Effect |
OFF | No Decals |
COLOR | Use as Color Decal Placement |
ALPHA | Use as Alpha Decal Placement |
|
|
This is the Shader used for Body skin, Faces, and Hrothgar Skin with Fur.
- As a note, When both Skin influence and Hair influence are set, Skin influence wins out.
When working with this shader for body mods, Keep in mind that as of writing this, Body mods on the Female base (bibo, tf gen 3, etc) use skin type Body/standard skin. However, Male body mods (TBSE) Use the Hrothgar shader key for skin to allow for body hair that changes with head hair color. As such, authoring of maps for these two may differ slightly.
When using/authoring skin using the Hrothgar version of the skin shader, pay special attention to the alpha and blue channels as they are interconnected. The blue channel will be both skin color influence (depigmentation) AND Hair color selection at the same time, with the alpha determining which of the two effects are used in what spot. Portions of the blue channel that are not pure white with a BLACK alpha become depigmentation while the areas with a WHITE alpha become hair color influence.
You can create a faux metallic effect on skin by confusing the Subsurface shader (though be careful). To do this, set the blue channel of the mask to a value close to 255. This creates an effect that is both metallic and subsurface at the same time. This method should only be done by Power users who know what they are doing. All other users should instead use the shader ID 10 method listed below for metal on skin.
New research has shown that skin can be used to create semitransparent opacity, but it requires specific shader key assignments and constants. Without these keys and constants, skin is a yes/no on opacity. When I have located these constants and keys, they will be listed here.
As emissive is a shader key on the same level as hrothgar (body hair on skin) you cannot use both emissive and dyeable body hair on skin at the same time using vanilla shaders. this is non-negotiable.
- When Shader ID is set to 10 (default value is 1) this activates "proper" metal on skin, and changes the Mask blue from Subsurface/Fur parallax to Metalness. When authoring with this shader ID for metalness, all skin/non metal must be PURE BLACK in the blue channel (causing it to look yellow in RGB mode). The closer the value is to white, the more metalness it has. The Green roughness channel must also be given special consideration. values closer to black cause the metal to be more shiny/polished looking, but due to how 14 has implemented this, it will also pick up more color from the skybox/environment lighting, to the point where it will change the color of the metal entirely if the roughness value is too low. To avoid skybox discoloration but keep the metal looking shiny, it is reccommended to keep the value closer to a midtone grey. The skybox tinting effect with low roughness is more pronounced and visible on any metallic bits facing up towards the sky, so anything on the chest, or if the arms are bent at a 90 degree angle (such as folded at the chest).
The default Tile used on the standard/body skin shader is number 63, which produces a wetness effect. This caused us to assume that the alpha on the body skin shader was a wetness mask, but any tile ID number will work with it if changed manually, therefore the alpha channel on the body skin shader is actually a tile mask. That said, changing these tiles is an advanced user feature, and using the alpha as before does not change much in practice unless you plan to manually adjust the tile pattern from wet effect to something else.
Hair.shpk (Hair Shader) |
Texture Data |
Normal Texture | Mask Texture |
RED | Standard Tangent Space Normal Map | RED | Specular Power |
GREEN | Standard Tangent Space Normal Map | GREEN | Roughness |
BLUE | Highlight Color Influence | BLUE | SSS Thickness |
ALPHA | Opacity | ALPHA | Diffuse Mask / Ambient Occlusion |
Diffuse Texture | -- |
RED | Standard Color Data | RED | |
GREEN | Standard Color Data | GREEN | |
BLUE | Standard Color Data | BLUE | |
ALPHA | Opacity | ALPHA | |
Model Data |
Vertex Color 1 | Vertex Color 2 |
RED | ??? | RED | Faux-Wind Influence + Anistropy |
GREEN | ??? | GREEN | Faux-Wind Multiplier |
BLUE | ??? | BLUE | ??? |
ALPHA | Shadow Casting On/Off | ALPHA | ??? |
UV Channel 1 | UV Channel 2 |
UV | Normal UV Channel | UV | Opacity Mapping for Miqo'te? |
Sub Color Map - Normal Blue Channel |
Key : 24826489 |
Value | Effect |
FACE | Use as Tattoo Color Influence |
HAIR | Use as Hair Highlight Influence |
584265DD | Unknown |
This is the hair Shader. Many things have changed and unlike character, there is no legacy version of this shader. All old hair mods must be converted to use the channels described in this section. Hair is also used for Miqo'te tails.
At this time, the shader does not seem to be responsive to whatever value appearance plugins and tools such as Anamnesis, Glamourer, and Ktisis used to use for their "hair glow" parameter. This indicates something was shuffled around, but we are currently unsure as to what.
Iris.shpk (Eye Shader) |
Texture Data |
Normal Texture | Mask Texture |
RED | Standard Tangent Space Normal Map | RED | Emissive Mask |
GREEN | Standard Tangent Space Normal Map | GREEN | Reflection Mask/Cubemap Intensity |
BLUE | Unused | BLUE | Iris Mask |
ALPHA | Unused | ALPHA | Unused |
Diffuse Texture | -- |
RED | Standard Color Data | RED | |
GREEN | Standard Color Data | GREEN | |
BLUE | Standard Color Data | BLUE | |
ALPHA | Unused | ALPHA | |
Model Data |
Vertex Color 1 | Vertex Color 2 |
RED | Left Eye color influence (odd eyes) | RED | Unused (?) |
GREEN | Right eye color influence (odd eyes) | GREEN | Unused (?) |
BLUE | | BLUE | Unused (?) |
ALPHA | | ALPHA | Unused (?) |
UV Channel 1 | UV Channel 2 |
UV | Normal UV Channel | UV | Unused (?) |
63030C80 - Unknown Effect |
Key : 63030C80 |
Value | Effect |
EFDEA8F6 | Unknown |
This is the iris, or new eye shader. There is no legacy version of this shader that can be used on players, so ALL eye mods must be thrown through a converter such as Loose Texture Compiler or Textools' Eye saver. This is non-negotiable.
The new iris shader allows for Sclera and Iris to be on the same map, allowing for some interesting effects
A large thing to note compared to old eye mods is that the catchlight is no longer an editable texture, and is using the Spheremaps which are currently not moddable. All Pre-DT catchlight mods or edits can no longer be used. If you want to create a fake catchlight, you can draw this onto the diffuse, but it will be static and not move around. You can reduce or change the existing catchlight (to an existing spheremap tile) using the shader constant listed below, but you cannot make custom catchlights.
Likewise, Au Ra limbal rings are also part of a shader now, and no longer part of a texture. Any mods that altered the Au Ra limbals must be scrapped. While shape cannot be changed, there is a shader constant that allows them to be turned on and off, and this is availible for all eyes, not just au ra. The Shader constants/parameters to change for eyes are:
7DABA471- g\_IrisRingEmissive
| 0-1 (au ra at 0.8)
|
|
|
58DE06E2-Limbal Color
| Red (0-1)
| Green (0-1)
| Blue (0-1)
|
074953E9 - Spheremap Tile | 0-60? (default 0) |
|
|
**Constant**
| **Value 1**
| **Value 2**
| **Value 3**
|
7DABA471- g\_IrisRingEmissive
| 0-1 (au ra at 0.8)
| | |
58DE06E2-Limbal Color
| Red (0-1)
| Green (0-1)
| Blue (0-1)
|
**(General) Constant**
| **Value 1**
| **Value 2**
| **Value 3**
|
074953E9 - Spheremap Tile
| 0-60? (default 0)
| | |
3BA64362-g\_Emissive color
| Red (0-1)
| Green (0-1)
| Blue (0-1)
|
11C90091-g\_ White Eyes Color | Red (0-1)
| Green (0-1)
| Blue (0-1)
|
Furthermore, Sclera can either be changed by drawing on the diffuse, OR by changing shader constant- White Eyes Color. (Listed in table above)
Emissive is now included in the eye shader for ALL eyes, but in order to activate it, you need to mask out where you want glow on the mask RED channel, AND turn the Emissive shader constant on by changing the 3 values to not 0. Emissive strength is not known how or if it can be edited.
Finally, due to the eyeball now being a diffuse texture, it is possible to get multicolored eyes without having to sacrifice heterochromia. This both makes them more compatible with a variety of heads, and allows for more than 2 colors. Because FF14 overlays the eye color closest to the layer style Multiply, it is best to check how colors will interact by simulating in an art program. You can either draw with color on the iris portion of the diffuse, and then allow eye color influence to change those colors, or draw with color on the diffuse, and then mask off the same areas/gradients on the Mask Blue channel, to stop those portions from changing with your eye color.
This is an example of simulating how placing colors on the diffuse and then allowing the game to put color on top can change the colors. This is a simulation in an art program, but it's enough to show what the effect will do when you do not mask out the colored parts on the multi.
[](https://xivmodding.com/uploads/images/gallery/2024-07/1HCOgcAh7kHth8BV-image.png)
CharacterTattoo.shpk (Face Tattoos Shader) |
Texture Data |
Normal Texture | -- |
RED | Standard Tangent Space Normal Map | RED | |
GREEN | Standard Tangent Space Normal Map | GREEN | |
BLUE | Mole or Tattoo Color Influence | BLUE | |
ALPHA | Opacity | ALPHA | |
Model Data |
Vertex Color 1 | Vertex Color 2 |
RED | ??? | RED | |
GREEN | ??? | GREEN | |
BLUE | ??? | BLUE | |
ALPHA | ??? | ALPHA | |
UV Channel 1 | UV Channel 2 |
UV | Normal UV Channel | UV | ??? |
Sub Color Map - Normal Blue Channel |
Key : 24826489 |
Value | Effect |
FACE | Use as Tattoo Color Influence |
HAIR | Use as Hair Highlight Influence |
584265DD | Unknown |
|
|
Decal Mode - Model UV2 Layer |
Key : D2777173 |
Value | Effect |
OFF | No Decals |
COLOR | Use as Color Decal Placement |
ALPHA | Use as Alpha Decal Placement |
|
|
There isn't much to edit about this shader, but it is important to keep in mind, as Facial ETC textures have multiple materials that all point to the same textures, but have different shader keys and parameters. Before changing any, please check this table, or make the texture path for the specific one you want to change unique.
CharacterStocking.shpk (Stocking/Translucent Cloth) |
Texture Data |
Normal Texture | Mask Texture
|
RED | Standard Tangent Space Normal Map | RED | See character shader
|
GREEN | Standard Tangent Space Normal Map | GREEN | See character shader |
BLUE | Opacity\* (Skin visibility)
| BLUE | See character shader |
ALPHA | Unused
| ALPHA | Unused |
Diffuse Texture
| Specular Texture
|
RED | See character shader | RED | See character shader |
GREEN | See character shader | GREEN | See character shader |
BLUE | See character shader | BLUE | See character shader |
ALPHA | See character shader | ALPHA | See character shader |
Index Texure
| -- |
RED | Colorset Pair (0-16)
| RED | ??? |
GREEN | Colorset Even/Odd blending
| GREEN | ??? |
BLUE | Unused | BLUE | ??? |
ALPHA | Unused | ALPHA | ??? |
Model Data |
Vertex Color 1 | Vertex Color 2 |
RED | Specular Mask
| RED | Faux wind influence
|
GREEN | Roughness
| GREEN | Faux wind multipler
|
BLUE | Diffuse mask
| BLUE | ??? |
ALPHA | Opacity
| ALPHA | ??? |
UV Channel 1 | UV Channel 2 |
UV | Normal UV | UV | Decal UV |
UV Channel 3 | | |
UV | Skin UV | |
|
As of 7.1 This shader is being adapted to player gear which allows us to research it more. This shader is nearly identical to the character (gear) shader, with a few exceptions. The main thing is that this shader utilizes UV channel 3 to copy and put skin underneath the "stockings" using only one mesh instead of the double layer mesh technique previously used. This is hardcoded to skin material A however, which means it will always be the symmetrical skin.
Texture wise, "opacity" on the normal map's blue channel is no longer overall opacity, but determines where and how much skin is shown "underneath".
Do NOT enable transparency in the material flags for this shader though, as it will crash your game.
The "nylon" texture and effect used on most gear with this shader is tile material 43, and you can get a nice stocking effect using a negative sheen value. Finally as of current research, sphere maps (like the holographic effect) seem to be disabled for this shader.
As of current research (12/03/2024) It seems that there is a strange link to material A used for this shader. When a modded skin mat A is loaded via textools into the game, the modded mat A shows correctly underneath the stockings, however when a modded skin mat A is loaded via penumbra, it does not. we are currently looking into why this is and how to cause the textools behavior on penumbra. The mod type (ttmp2 vs pmp) used does not change this behavior, nor can the penumbra behavior be circumvented via using textools' attach to penumbra system. for now a partial sort of fix is to have your modded skin in the default collection (this will mean everyone has your skin) in order for the stockings' mat A to properly reflect your skin. we don't know why this is the case, but it is likely due to how penumbra handles loading files vs textools. This has been tested on and works well on middie based ladies, but we could not get it to work on men. if you would like to test, please do and post a comment on this page of the results. (thank you to Virgo on discord for this research)
[](https://xivmodding.com/uploads/images/gallery/2024-12/iSMrQvr9gPMvpjy6-characterstocking-observations.png)
CharacterOcclusion.shpk (Eye Occlusion Shader) |
Texture Data |
Normal Texture | -- |
RED | ??? | RED | |
GREEN | ??? | GREEN | |
BLUE | ??? | BLUE | |
ALPHA | ??? | ALPHA | |
-- | -- |
RED | | RED | |
GREEN | | GREEN | |
BLUE | | BLUE | |
ALPHA | | ALPHA | |
-- | -- |
RED | | RED | |
GREEN | | GREEN | |
BLUE | | BLUE | |
ALPHA | | ALPHA | |
Model Data |
Vertex Color 1 | Vertex Color 2 |
RED | Standard Tangent Space Normal Map | RED | Unused (?) |
GREEN | Standard Tangent Space Normal Map | GREEN | Unused (?) |
BLUE | ??? | BLUE | Unused (?) |
ALPHA | Unused | ALPHA | Unused (?) |
UV Channel 1 | UV Channel 2 |
UV | Normal UV Channel | UV | ??? |
Sub Color Map - Normal Blue Channel |
Key : 24826489 |
Value | Effect |
FACE | Use as Tattoo Color Influence |
HAIR | Use as Hair Highlight Influence |
584265DD | Unknown |
|
|
Vertex Color Mode - Model Vertex Colors |
Key : F52CCF05 |
Value | Effect |
MASK | Use as Mask |
COLOR | Use as Diffuse Color |
DFE74BAC | Unknown |
5CC605B5 | Unknown |
Decal Mode - Model UV2 Layer |
Key : D2777173 |
Value | Effect |
OFF | No Decals |
COLOR | Use as Color Decal Placement |
ALPHA | Use as Alpha Decal Placement |
|
|
There isn't much to say about this shader.
CharacterGlass.shpk (Glass Shader) |
Texture Data |
Normal Texture | Mask Texture |
RED | Standard Tangent Space Normal Map | RED | Specular Power |
GREEN | Standard Tangent Space Normal Map | GREEN | Roughness |
BLUE | Opacity | BLUE | Ambient Occlusion |
ALPHA | Unused | ALPHA | Unused |
Index Texture | Diffuse Texture? |
RED | Colorset Pair (0-16) | RED | Standard Color Data |
GREEN | Colorset Even/Odd Blending | GREEN | Standard Color Data |
BLUE | ??? | BLUE | Standard Color Data |
ALPHA | ??? | ALPHA | ??? |
Specular Texture? | Flow Texture |
RED | Standard Color Data | RED | ??? |
GREEN | Standard Color Data | GREEN | ??? |
BLUE | Standard Color Data | BLUE | ??? |
ALPHA | ??? | ALPHA | ??? |
Model Data |
Vertex Color 1 | Vertex Color 2 |
RED | Specular Mask | RED | Faux-Wind Influence |
GREEN | Roughness | GREEN | Faux-Wind Multiplier |
BLUE | Diffuse Mask | BLUE | ??? |
ALPHA | Opacity | ALPHA | ??? |
UV Channel 1 | UV Channel 2 |
UV | Normal UV Channel | UV | Decal UV Channel (FC Crests, etc.) |
Texture Mode - Diffuse Texture |
Key : B616DC5A |
Value | Effect |
DEFAULT | Default Mask Texture Mode |
COMPATIBILITY | Used to enable Diffuse Texture |
SIMPLE | Unknown |
|
|
Specular Mode - Specular Texture |
Key : C8BD1DEF |
Value | Effect |
OFF | No Specular Texture |
MASK | Use Mask sampler for Specular |
DEFAULT | Use Spec sampler for Specular |
A7D2FF60 | Unknown |
Flow Map Mode? - Flow Texture |
Key : 40D1481E |
Value | Effect |
337C6BC4 | Standard Value |
71ADA939 | Enable Flow Map? |
| |
|
|
Vertex Color Mode - Model Vertex Colors |
Key : F52CCF05 |
Value | Effect |
MASK | Use as Mask |
COLOR | Use as Diffuse Color |
DFE74BAC | Unknown |
5CC605B5 | Unknown |
Decal Mode - Model UV2 Layer |
Key : D2777173 |
Value | Effect |
OFF | No Decals |
COLOR | Use as Color Decal Placement |
ALPHA | Use as Alpha Decal Placement |
|
|
Transparency Effect |
Key : E8DA5B62
|
Value | Effect |
7B804D6E | Dithering Toggle |
71A1FBF8 | Block Visibility through mesh (?) |
According to recent testing, Passthrough visibility is conditional on dithering being active. That is, if the dithering key is not present (alongside the additional data bit value "00 80 00 00" being enabled), the passthrough effect will not do anything, even if the key is toggled on. To fully activate dithering, the shader key must be enabled, AND the bit value in the additional data section of the material editor must be enabled. (thank you arghblargh for this info)
As with Character Transparency, This shader is highly sensitive to opactiy values in the textures, and special care must be taken to ensure that your texture map opacity strength is dialed in correctly, as there is no way to control or edit it with material constants in textools or penumbra. The shader and material constants are extremely important for this shader for your glass quality, as well as the Sphere ID and Tilemap selections.
Sphere map IDs can use color influence from your specular color (set in the colorset/color table) on this shader, and the tilemap selection can break the spheremap ID visuals up, leading to different results. When planning to use this shader, the meshes must be authored/created specifically for use with these shaders, as any accidental backfaces or face normals pointed in the wrong direction will cause visual artifacts and issues. That said, purposeful use of this can allow for neat effects for items like clear gemstones and glass dishware. (especially those with stacked transparency such as a wine glass with wine inside) (Thank you to Bacara for this information)
For glass, it is possible to manipulate and author specific IOR (Index of Refraction) values to create gems and other more mystical or stylized items. to use and manipulate IOR, you must set a tile map. this is non negotiable and will not work without one. any tilemap will do. Then click back to 0 or set 0% opacity if you need. It MUST be written on/in the material to let you do refraction values. From testing, these values are 10 times the usual strength of the values set in Unreal Engine. (thank you to Bacara for the information and Kthonia for testing)
This shader is still being researched. It mainly functions similarly to the standard Character shader in terms of Texture channels, but uses different constants and math to achieve different effects. There is currently no Automatic ways to convert a pre-DT mod to post DT with glass and have it look good, so using this shader will require manual authoring.
CharacterTransparency.shpk
|
Texture Data |
Normal Texture | Mask Texture |
RED | Standard Tangent Space Normal Map | RED | Specular Power |
GREEN | Standard Tangent Space Normal Map | GREEN | Roughness |
BLUE | Opacity | BLUE | Ambient Occlusion |
ALPHA | Unused | ALPHA | Unused |
Diffuse Texture? | Specular Texture? |
RED | Standard Color Data | RED | Standard Color Data |
GREEN | Standard Color Data | GREEN | Standard Color Data |
BLUE | Standard Color Data | BLUE | Standard Color Data |
ALPHA | ??? | ALPHA | ??? |
Index Texture | Flow Texture |
RED | Colorset Pair (0-16) | RED | ??? |
GREEN | Colorset Even/Odd Blending | GREEN | ??? |
BLUE | Unused | BLUE | ??? |
ALPHA | Unused | ALPHA | ??? |
Model Data |
Vertex Color 1? | Vertex Color 2? |
RED | Specular Mask | RED | Faux-Wind Influence |
GREEN | Roughness | GREEN | Faux-Wind Multiplier |
BLUE | Diffuse Mask | BLUE | ??? |
ALPHA | Opacity | ALPHA | ??? |
UV Channel 1? | UV Channel 2? |
UV | Normal UV Channel | UV | Decal UV Channel (FC Crests, etc.) |
Transparency Effect |
Key : E8DA5B62
|
Value | Effect |
7B804D6E | Dithering toggle |
71A1FBF8 | Passthrough visibility (?) |
- Unknown Effect |
Key :
|
Value | Effect |
| Unknown |
|
|
0033C8B5 - Unknown Effect |
Key : 0033C8B5
|
Value | Effect |
D1E60FD9 | Unknown |
93D6C21A | Enable Emissive Color |
This is a new shader introduced in 7.2, first seen on the Historia Chokers. It is assumed that it acts similarly to the standard character shader but uses a few additional shader keys for better transparency effects.
When these shaders are overlaid with certain other effects (like byakko's falling VFX) Character Glass will dither, but Character Transparency will hide completely. This could be a reason to use one shader over the other.
According to recent testing, Passthrough visibility is conditional on dithering being active. that is, if the dithering key is not present (alongside the additional data bit value "00 80 00 00" being enabled), the passthrough effect will not do anything, even if the key is toggled on. To fully activate dithering, the shader key must be enabled, AND the bit value in the additional data section of the material editor must be enabled. (thank you arghblargh for this info)
As with character glass, This shader is highly sensitive to opactiy values in the textures, and special care must be taken to ensure that your texture map opacity strength is dialed in correctly, as there is no way to control or edit it with material constants in textools or penumbra. The shader and material constants are extremely important for this shader for your glass quality, as well as the Sphere ID and Tilemap selections.
Sphere map IDs can use color influence from your specular color (set in the colorset/color table) on this shader, and the tilemap selection can break the spheremap ID visuals up, leading to different results. When planning to use this shader, the meshes must be authored/created specifically for use with these shaders, as any accidental backfaces or face normals pointed in the wrong direction will cause visual artifacts and issues. That said, purposeful use of this can allow for neat effects for items like clear gemstones and glass dishware. (especially those with stacked transparency such as a wine glass with wine inside) (Thank you to Bacara for this information)
This shader makes use of :field 6" in penumbra (the textools name for this will be added later)
This shader for the most part uses all the same Texture channels as the Character shader.
CharacterInc.shpk |
Texture Data |
Normal Texture | -- |
RED | ??? | RED | ??? |
GREEN | ??? | GREEN | ??? |
BLUE | ??? | BLUE | ??? |
ALPHA | ??? | ALPHA | ??? |
-- | Mask/Multi Texture |
RED | ??? | RED | ??? |
GREEN | ??? | GREEN | ??? |
BLUE | ??? | BLUE | ??? |
ALPHA | ??? | ALPHA | ??? |
-- | -- |
RED | ??? | RED | ??? |
GREEN | ??? | GREEN | ??? |
BLUE | ??? | BLUE | ??? |
ALPHA | ??? | ALPHA | ??? |
Model Data |
Vertex Color 1 | Vertex Color 2 |
RED | ??? | RED | ??? |
GREEN | ??? | GREEN | ??? |
BLUE | ??? | BLUE | ??? |
ALPHA | ??? | ALPHA | ??? |
UV Channel 1 | UV Channel 2 |
UV | Normal UV | UV |
|
So far, we know that this shader does not seem to utilize vertex color for anything special, and seems to utilize a mask map for the special effects. (Thank you to Ulli for this information) This shader is currently being researched by Bacara. So far it has been found that some shader information for this shader cannot be currently read correctly in penumbra and does not allow you to save the file. It is assumed that textools similarly will have an issue with this shader. It is currently (as of 05/30/2025) only used for pictomancer VFX and the Sugar Riot raid boss. It is assumed that this shader will be good for latex, as well as the intended use case of fluids/liquids/slime/gummy materials.
This shader has been in the game since 7.0, but was first used on non-VFX in 7.2. We do not have any information on this shader and will be updating this portion when more information is found.
This is a version of the character shader that uses the second UV channel to allow for an emissive texture to animate across the mesh using UV2. The speed and axis can be changed. UV2 must be a straight and flat run along one axis with everything oriented in the same direction.
(technically you only need to do what on the UV2 you need and what's linked UV and mesh wise to collaborate with your UV1's ID map for what you want to be scrolling, but for clarity's sake, try to keep it straight. for further clarification, please contact @Bacara on discord)
If you are using this shader on a skintight clothing mesh, or a mesh that is otherwise on top of another, make sure to offset the scrolling mesh by 0.03 to avoid LOD and Zfighting errors.
The easiest way to author with this shader is to use Bacara's mjolnir mod as a preset, or use the NPC gear E9242 as a material preset. this will give the texture path to something with Unknown\_o, which is your scrolling emissive. When authoring this scrolling texture, you want it to be a tileable or seamless texture so it is not obvious when the pattern repeats.
The shader key for this shader to also enable opacity is
Opacity |
Key : F886E10E |
Value | Effect |
9A8A46F5 | Enable Opacity |
|
|
Colorset Setting | Value | Notes |
Sphere Map Opacity | Whatever | It doesn't matter if you use a sphere map ID here, this value can even be negative. |
Effect unknown A (Field 27 Penumbra) Scrool constant controller | 1 or 2 | Do not set above 2 |
Emissive Color | Whatever | More Vibrancy will make it brighter |
Important Colorset constants to know when authoring-
Name | Colorset A Constants | Colorset B Constants | Extra Info |
Translate X Speed | 0x738A241C | 0xE8C5CBFF | These can go positive or negative, It is reccommeded to edit this constant with decimals by the hundredths |
Translate Y Speed | 0x71CC9A45 | 0xEA8375A6 | These can go positive or negative, It is reccommeded to edit this constant with decimals by the hundredths |
Tiling X | 0x43345395 | 0xD87BBC76 | Default around 1 to 10. You can go negative. |
Tiling Y | 0x4172EDCC | 0xDA3D022F | Default around 1 to 10. You can go negative. |
This shader's information was adapted entirely from Bacara. If you would like a more tutorial style explination of how to use this shader with some examples, please check out thier guide: [https://docs.google.com/document/d/1Z\_ao7r2hREzQBW1\_5uXJF\_2g-9ePB-MItj42CGyp6qQ/edit?tab=t.0#heading=h.echx7hlozmu](https://docs.google.com/document/d/1Z_ao7r2hREzQBW1_5uXJF_2g-9ePB-MItj42CGyp6qQ/edit?tab=t.0#heading=h.echx7hlozmu)
Bg.shpk (Furniture Shader) |
Texture Data |
Normal Texture | Mask Texture |
RED | Standard Tangent Space Normal Map | RED | Specular Mask A? |
GREEN | Standard Tangent Space Normal Map | GREEN | Roughness |
BLUE | ??? | BLUE | Specular Mask B? |
ALPHA | ??? | ALPHA | ??? |
Diffuse Texture | -- |
RED | Standard Color Data | RED | |
GREEN | Standard Color Data | GREEN | |
BLUE | Standard Color Data | BLUE | |
ALPHA | Unused | ALPHA | |
-- | -- |
RED | | RED | |
GREEN | | GREEN | |
BLUE | | BLUE | |
ALPHA | | ALPHA | |
Model Data |
Vertex Color 1 | Vertex Color 2 |
RED | ??? | RED | Unused (?) |
GREEN | ??? | GREEN | Unused (?) |
BLUE | ??? | BLUE | Unused (?) |
ALPHA | ??? | ALPHA | Unused (?) |
UV Channel 1 | UV Channel 2 |
UV | Normal UV Channel | UV | ??? |
BG Use DiffuseAlpha - Diffuse Alpha |
Key : A9A3EE25 |
Value | Effect |
72AAA9AE | Use as Opacity |
BG Vertex Paint - Vertex Color |
Key : 4F4F0636 |
Value | Effect |
BD94649A | Use as Diffuse Color |
Multiple - Unknown Effect |
Key : Multiple |
Value | Effect |
At least ~9 Additional keys of unknown effect |
Texture Mode - Diffuse Texture |
Key : B616DC5A |
Value | Effect |
DEFAULT | Unknown |
COMPATIBILITY | Unknown |
SIMPLE | Unknown |
1DF2985C | Unknown |
941820BE | Unknown |
07D3170F | Unknown |
This shader is not fully understood.
BgColorChange.shpk (Dyeable Furniture Shader) |
Texture Data |
Normal Texture | Mask Texture |
RED | Standard Tangent Space Normal Map | RED | Specular Mask A? |
GREEN | Standard Tangent Space Normal Map | GREEN | Roughness |
BLUE | ??? | BLUE | Specular Mask B? |
ALPHA | Opacity | ALPHA | ??? |
Diffuse Texture | -- |
RED | Standard Color Data | RED | |
GREEN | Standard Color Data | GREEN | |
BLUE | Standard Color Data | BLUE | |
ALPHA | Dyeability Mask | ALPHA | |
-- | -- |
RED | | RED | |
GREEN | | GREEN | |
BLUE | | BLUE | |
ALPHA | | ALPHA | |
Model Data |
Vertex Color 1 | Vertex Color 2 |
RED | ??? | RED | Unused (?) |
GREEN | ??? | GREEN | Unused (?) |
BLUE | ??? | BLUE | Unused (?) |
ALPHA | ??? | ALPHA | Unused (?) |
UV Channel 1 | UV Channel 2 |
UV | Normal UV Channel | UV | ??? |
BG Use DiffuseAlpha - Diffuse Alpha |
Key : A9A3EE25 |
Value | Effect |
72AAA9AE | Use as Opacity (?) |
BG Vertex Paint - Vertex Color |
Key : 4F4F0636 |
Value | Effect |
BD94649A | Use as Diffuse Color |
This shader is not fully understood.
Notes courtesy of Vincent on discord:
Keys:
9A696A17 - Velocity of the scroll. Positive values are left & up direction. Parameter 1 & 2 are Diffuse A's X & Y scroll respectively, and 3 & 4 are the same for Diffuse B.
Emissive, Diffuse, etc. - Affects these values on Diffuse A (the overlay layer.)
MultiEmissive, MultiDiffuse, etc. - Affects these values on Diffuse B (the base photo layer.)
BFE9D12D - A master emissive multiplier. Setting this to 0 turns off the lights on the whole thing.
The apparent 50% opacity on the Diffuse A overlay seems to be hard-coded. None of the other constants seemed to do anything at all.
Changing the alpha threshold parameter or alpha of the images had no effect.
This shader is used on the Phasmascapes.
We are assuming that this shader works the same as the non-dyeable furniture shader, with the addition of a second diffuse and scrolling parameters.
##### Additional Data Values Table
Additional Data bit Value
| Function
| Relevant Shader
| Bit Interactions
| Other Notes
|
00 80 00 00
| Enable Dithering
| Glass, Transparency. Charachter, CharacterScroll
| | Glass often has this enabled and shadows disabled. Assumed that this also affects transparency in character shader.
|
00 40 00 00
| Disable Shadows
| Global (?) Glass, Transparency, Character
| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
Cuurently, we believe that all values in this table are Global, or work on all shaders, but as this has not yet been fully confirmed, I will continue listing the confirmed shaders that these data values work on.