des-refmat:mtd-parameters

Material Parameters

Material(mtd) params are values for each individual material in the game which are used to change the way surfaces are rendered. They define the shaders to use, and what values to pass in to it such as color multipliers and how it should blend with the environment. To edit MTD params, use MTD Editor from the Tools page of this wiki.

Almost all of this info should also be valid for DS1 since its material format is identical to Demon's Souls (but the actual shaders are different, so results may vary).

Param Name Data Type Description
g_BlendMode Int(enum) The method in which the colors of this object's surface blend with surfaces behind it. Therefore values other than “Normal” only matter for transparent objects.
g_LightingType Int(enum) The method in which to calculate lighting on the object.
g_DiffuseMapColor Float3 An RGB vector to multiply the colors in the diffuse map by. Multiplying colors past 1 will result in their color bleeding out, causing a sort of “emissive” effect.
g_DiffuseMapColorPower Float A multiplier for all 3 color channels of the diffuse map.
g_SpecularMapColor Float3 An RGB vector to multiply the colors in the specular map by. Multiplying colors past 1 will result in their color bleeding out, causing a sort of “emissive” effect.
g_SpecularMapColorPower Float A multiplier for all 3 color channels of the specular map.
g_SpecularPower Float The actual “specularity” of the surface. Higher values will result in stronger and smaller highlights, while smaller values will result in the specular light being spread more evenly across the surface.
g_EnvSpcSlotNo Int Unsure, but likely has to do with which EnvSpc cubemap texture to use for lighting in the map. It seems that duller or default materials use 0 and as the shininess increases it goes up to 3.
g_TexScrollType Int(bool) 0 if the UVs do not scroll, 1 if they do.
g_TexScroll_0 Float2 A vector applied (every frame?) to UV 1 for scrolling. UV 1 is usually the diffuse, specular, and normal map texture.
g_TexScroll_1 Float2 A vector applied (every frame?) to UV 2 for scrolling. UV 2 is usually the 2nd diffuse, specular, and normal map texture if they exist (for multitexture materials).
g_TexScroll_2 Float2 A vector applied (every frame?) to UV 3 for scrolling. UV 3 is usually the lightmap texture.
g_ShadowPowMul Float A multiplier for the intensity of shadows cast on this surface.
g_FaceGenType Int(bool) Unsure, but could be what tells the game to look for the FaceGenParam in the CharaInitParam to say to color this surface based on it's skin color. Set to 1 for player skin materials and 0 for everything else.
g_UseHairColor Int(bool) Unsure, but could be what tells the game to look for the FaceGenParam in the CharaInitParam to say to color this surface based on it's hair color. Set to 1 for player hair materials and 0 for everything else.
g_IsNew Bool Unsure, didn't notice any changes when toggled on or off. Set to ON for every material in the game by default.
des-refmat/mtd-parameters.txt · Last modified: by admin