--[[ | This file was obtained through the combined efforts | of Madbluntz & Plymouth Antiquarian Society. | | Credits: lifestorm, Gregory Wayne Rossel JR., | Maloy, DrPepper10 @ RIP, Atle! | | Visit for more: https://plymouth.thetwilightzone.ru/ --]] return { shaders = { eyerefract = { generic = { lightwarptexture = { type = "texture", friendly = "LightWarpTexture", description = "1D ramp texture for tinting scalar diffuse term", }, warpparam = { type = "float", default = 0, friendly = "WarpParam", description = "animation param between 0 and 1", }, entityorigin = { type = "vec3", default = Vector(0,0,0), friendly = "EntityOrigin", description = "center if the model in world space", }, corneatexture = { type = "texture", description = "cornea texture", default = "Engine/eye-cornea", }, ambientoccltexture = { type = "texture", description = "reflection texture", default = "Engine/eye-extra", }, ambientocclcolor = { type = "vec3", description = "Ambient occlusion color", default = Vector(0.33,0.33,0.33), }, }, eye = { intro = { friendly = "Episode1Intro", description = "center if the model in world space", type = "bool", default = false, }, eyeballradius = { type = "float", description = "Requires $raytracesphere 1. Radius of the eyeball. Should be the diameter of the eyeball divided by 2.", default = 0.5, friendly = "EyeballRadius", }, raytracesphere = { type = "bool", description = "Enables sphere raytracing. Each pixel is raytraced to allow sharper angles to look more accurate.", default = true, friendly = "RayTraceSphere", }, spheretexkillcombo = { type = "bool", description = "Requires $raytracesphere 1. Causes pixels which don't hit the raytraced sphere to be transparent", default = false, friendly = "SphereTexkillCombo", }, eyeorigin = { type = "vec3", description = "origin for the eyes", default = Vector(0,0,0), friendly = "EyeOrigin", }, iris = { type = "texture", description = "iris texture", default = "engine/eye-iris-green", friendly = "Iris", }, irisframe = { type = "integer", description = "frame for the iris texture", default = 0, friendly = "IrisFrame", linked = "iris" }, dilation = { type = "float", description = "Pupil dilation (0 is none, 1 is maximal)", default = 0.5, friendly = "Dilation", }, irisu = { type = "vec4", description = "U projection vector for the iris", default = "[0 1 0 0 ]", friendly = "IrisU", }, irisv = { type = "vec4", description = "V projection vector for the iris", default = "[0 0 1 0]", friendly = "IrisV", }, parallaxstrength = { type = "float", description = "Parallax strength", default = 0.25, friendly = "ParallaxStrength", }, corneabumpstrength = { type = "float", description = "Cornea strength", default = 1, friendly = "CorneaBumpStrength", }, halflambert = { type = "bool", description = "Enables half-lambertian lighting.", default = 1, friendly = "HalfLambert", }, glossiness = { type = "float", description = "The opacity of the cubemap reflection.", default = 0.5, friendly = "Glossiness", }, }, cloak = { cloakpassenabled = { friendly = "Enable", type = "bool", description = "Enables cloak render in a second pass", default = false, }, cloakfactor = { friendly = "Factor", type = "float", description = "", default = 0, }, cloakcolortint = { friendly = "ColorTint", type = "color", description = "Cloak color tint", default = Vector(1, 1, 1), }, refractamount = { type = "float", friendly = "RefractAmount", default = 0.5, description = "How strong the refraction effect should be when the material is partially cloaked (default = 2).", }, }, ["environment map"] = { envmap = { type = "texture", friendly = "Envmap", description = "Enables cubemap reflections.", default = "Engine/eye-reflection-cubemap-", partial_hdr = true }, } }, vertexlitgeneric = { wrinkle = { compress = { type = "texture", friendly = "Compress", description = "compression wrinklemap", }, bumpcompress = { type = "texture", friendly = "BumpCompress", description = "compression bump map", }, bumpstretch = { type = "texture", friendly = "BumpStretch", description = "expansion bump map", }, stretch = { type = "texture", friendly = "Stretch", description = "expansion wrinklemap", }, }, ["sheen map"] = { sheenmapmaskoffsetx = { type = "float", description = "X Offset of the mask relative to model space coords of target", default = 0, friendly = "MaskOffsetX", }, sheenindex = { type = "integer", description = "Index of the Effect Type (Color Additive, Override etc...)", default = 0, friendly = "Index", }, sheenmaptint = { type = "color", description = "sheenmap tint", friendly = "Tint", }, sheenmapmaskoffsety = { type = "float", description = "Y Offset of the mask relative to model space coords of target", default = 0, friendly = "MaskOffsetY", }, sheenpassenabled = { type = "bool", description = "Enables weapon sheen render in a second pass", default = false, friendly = "Enable", }, sheenmapmask = { type = "texture", description = "sheenmap mask", friendly = "Mask", }, sheenmapmaskscalex = { type = "float", description = "X Scale the size of the map mask to the size of the target", default = 1, friendly = "MaskScaleX", }, sheenmapmaskscaley = { type = "float", description = "Y Scale the size of the map mask to the size of the target", default = 1, friendly = "MaskScaleY", }, sheenmap = { type = "texture", description = "sheenmap", }, sheenmapmaskframe = { type = "integer", description = "", default = 0, friendly = "MaskFrame", linked = "sheenmap" }, sheenmapmaskdirection = { type = "integer", description = "The direction the sheen should move (length direction of weapon) XYZ, 0,1,2", default = 0, friendly = "Direction", }, }, ["rim lighting"] = { rimlightboost = { type = "float", friendly = "Boost", default = 0, description = "Boost for rim lights", }, rimmask = { type = "bool", friendly = "ExponentAlphaMask", default = false, description = "Indicates whether or not to use alpha channel of exponent texture to mask the rim term", }, rimlight = { type = "bool", default = false, description = "enables rim lighting", friendly = "Enable", }, rimlightexponent = { type = "float", friendly = "Exponent", default = 0, description = "Exponent for rim lights", }, }, phong = { albedo = { type = "texture", friendly = "Albedo", description = "albedo (Base texture with no baked lighting)", }, basemapalphaphongmask = { type = "bool", friendly = "BaseMapAlphaPhongMask", default = false, description = "indicates that there is no normal map and that the phong mask is in base alpha", }, invertphongmask = { type = "bool", friendly = "InvertPhongMask", default = false, description = "invert the phong mask (0=full phong, 1=no phong)", }, phongexponenttexture = { type = "texture", friendly = "Exponent", description = "Phong Exponent map", }, phongwarptexture = { type = "texture", friendly = "Warp", description = "warp the specular term", }, }, flesh = { fleshcubetexture = { type = "texture", friendly = "CubeTexture", description = "Flesh cubemap texture", }, flesheffectcenterradius3 = { type = "vec4", friendly = "EffectCenterRadius3", default = "[ 0 0 0 0 ]", description = "Flesh effect center and radius", }, fleshglossbrightness = { type = "float", friendly = "GlossBrightness", default = 0, description = "Flesh gloss brightness", }, fleshsubsurfacetint = { type = "color", friendly = "SubsurfaceTint", default = Vector(1, 1, 1), description = "Subsurface Color", }, fleshbordersoftness = { type = "float", friendly = "BorderSoftness", default = 0, description = "Flesh border softness (> 0.0 && <= 0.5)", }, fleshdebugforcefleshon = { type = "bool", friendly = "DebugForceFleshOn", default = false, description = "Flesh Debug full flesh", }, fleshbordertexture1d = { type = "texture", friendly = "BorderTexture1D", description = "Flesh border 1D texture", }, flesheffectcenterradius1 = { type = "vec4", friendly = "EffectCenterRadius1", default = "[ 0 0 0 0 ]", description = "Flesh effect center and radius", }, flesheffectcenterradius4 = { type = "vec4", friendly = "EffectCenterRadius4", default = "[ 0 0 0 0 ]", description = "Flesh effect center and radius", }, fleshinteriorenabled = { friendly = "InteriorEnabled", type = "bool", description = "Enable Flesh interior blend pass", default = false, }, fleshbordernoisescale = { type = "float", friendly = "BorderNoiseScale", default = 0, description = "Flesh Noise UV scalar for border", }, fleshsubsurfacetexture = { type = "texture", friendly = "SubsurfaceTexture", description = "Flesh subsurface texture", }, fleshglobalopacity = { type = "float", friendly = "GlobalOpacity", default = 0, description = "Flesh global opacity", }, fleshinteriortexture = { type = "texture", friendly = "Texture", description = "Flesh color texture", }, fleshborderwidth = { type = "float", friendly = "BorderWidth", default = 0, description = "Flesh border", }, fleshbordertint = { type = "color", friendly = "BorderTint", default = Vector(1, 1, 1), description = "Flesh border Color", }, fleshscrollspeed = { type = "float", friendly = "ScrollSpeed", default = 0, description = "Flesh scroll speed", }, flesheffectcenterradius2 = { type = "vec4", friendly = "EffectCenterRadius2", default = "[ 0 0 0 0 ]", description = "Flesh effect center and radius", }, fleshinteriornoisetexture = { type = "texture", friendly = "NoiseTexture", description = "Flesh noise texture", }, fleshnormaltexture = { type = "texture", friendly = "NormalTexture", description = "Flesh normal texture", }, }, ["self illumination"] = { selfillumfresnel = { type = "bool", friendly = "Fresnel", default = false, description = "Self illum fresnel", }, selfillum_envmapmask_alpha = { type = "float", friendly = "EnvMapMaskAlpha", default = 0, description = "defines that self illum value comes from env map mask alpha", }, selfillumfresnelminmaxexp = { type = "vec4", friendly = "FresnelMinMaxExp", default = "[ 0 0 0 0 ]", description = "Self illum fresnel min, max, exp", }, selfillum = { is_flag = true, type = "integer", default = false, description = "flag", }, selfillummask = { type = "texture", friendly = "Mask", description = "If we bind a texture here, it overrides base alpha (if any) for self illum", }, selfillumtint = { type = "color", friendly = "Tint", default = Vector(1, 1, 1), description = "Self-illumination tint", }, }, generic = { color2 = { type = "color", friendly = "Color2", default = Vector(1, 1, 1), description = "color2", }, opaquetexture = { is_flag = true, type = "integer", friendly = "OpaqueTexture", default = false, description = "flag", }, noalphamod = { is_flag = true, type = "integer", friendly = "NoAlphaMod", default = false, description = "flag", }, znearer = { is_flag = true, type = "integer", friendly = "Znearer", default = false, description = "flag", }, additive = { is_flag = true, type = "integer", friendly = "Additive", default = false, description = "flag", }, nocull = { is_flag = true, type = "integer", friendly = "NoCull", default = false, description = "flag", }, ignore_alpha_modulation = { is_flag = true, type = "integer", friendly = "IgnoreAlphaModulation", default = false, description = "flag", }, color = { type = "color", friendly = "Color", default = Vector(1, 1, 1), description = "color", }, no_draw = { is_flag = true, type = "integer", friendly = "NoDraw", default = false, description = "flag", }, suppress_decals = { is_flag = true, type = "integer", friendly = "SuppressDecals", default = false, description = "flag", }, lightwarptexture = { type = "texture", friendly = "LightWarpTexture", description = "1D ramp texture for tinting scalar diffuse term", }, use_in_fillrate_mode = { is_flag = true, type = "integer", friendly = "UseInFillrateMode", default = false, description = "flag", }, halflambert = { is_flag = true, type = "bool", friendly = "HalfLambert", default = false, description = "flag", }, ambientonly = { type = "bool", friendly = "AmbientOnly", default = false, description = "Control drawing of non-ambient light ()", }, ignorez = { is_flag = true, type = "integer", friendly = "Ignorez", default = false, description = "flag", }, nofog = { is_flag = true, type = "integer", friendly = "Nofog", default = false, description = "flag", }, nolod = { type = "bool", default = false, description = "flag", friendly = "NoLod", }, decal = { is_flag = true, type = "integer", friendly = "Decal", default = false, description = "flag", }, allowalphatocoverage = { is_flag = true, type = "integer", friendly = "AllowAlphaToCoverage", default = false, description = "flag", }, model = { is_flag = true, type = "integer", friendly = "Model", default = false, description = "flag", }, multipass = { is_flag = true, type = "integer", friendly = "Multipass", default = false, description = "flag", }, debug = { is_flag = true, type = "integer", friendly = "Debug", default = false, description = "flag", }, wireframe = { is_flag = true, type = "integer", friendly = "Wireframe", default = false, description = "flag", }, translucent = { is_flag = true, type = "integer", friendly = "Translucent", default = false, description = "flag", }, flat = { is_flag = true, type = "integer", friendly = "Flat", default = false, description = "flag", }, }, ["bump map"] = { bumpmap = { type = "texture", friendly = "BumpMap", description = "bump map", default = "null-bumpmap", }, bumpframe = { type = "integer", friendly = "Frame", default = 0, description = "The frame to start an animated bump map on.", linked = "bumpmap" }, bumptransform = { type = "matrix", friendly = "Transform", description = "Transforms the bump map texture.", }, nodiffusebumplighting = { type = "bool", friendly = "NoDiffuseLighting", default = false, description = "Stops the bump map affecting the lighting of the material's albedo, which help combat overdraw. Does not affect the specular map.", }, }, seamless = { seamless_scale = { type = "float", friendly = "Scale", default = 0, description = "the scale for the seamless mapping. # of repetions of texture per inch.", }, seamless_detail = { type = "bool", friendly = "Detail", default = false, description = "where to apply seamless mapping to the detail texture.", }, seamless_base = { type = "bool", friendly = "Base", default = false, description = "whether to apply seamless mapping to the base texture. requires a smooth model.", }, }, cloak = { cloakpassenabled = { friendly = "Enable", type = "bool", description = "Enables cloak render in a second pass", default = false, }, cloakfactor = { friendly = "Factor", type = "float", description = "", default = 0, }, cloakcolortint = { friendly = "ColorTint", type = "color", description = "Cloak color tint", default = Vector(1, 1, 1), }, refractamount = { type = "float", friendly = "RefractAmount", default = 0.5, description = "How strong the refraction effect should be when the material is partially cloaked (default = 2).", }, }, blend = { blendtintbybasealpha = { type = "bool", friendly = "TintByBaseAlpha", default = false, description = "Use the base alpha to blend in the $color modulation", }, blendtintcoloroverbase = { friendly = "TintColorOverBase", type = "float", description = "blend between tint acting as a multiplication versus a replace", default = 0, }, }, detail = { detail = { type = "texture", description = "detail texture", }, detailtint = { type = "color", friendly = "Tint", default = Vector(1, 1, 1), description = "detail texture tint", }, }, ["emissive blend"] = { emissiveblendstrength = { type = "float", friendly = "Strength", default = 0, description = "Emissive blend strength", }, emissiveblendbasetexture = { type = "texture", friendly = "BaseTexture", description = "self-illumination map", }, emissiveblendenabled = { friendly = "Enabled", type = "bool", description = "Enable emissive blend pass", default = false, }, emissiveblendtexture = { type = "texture", friendly = "Texture", description = "self-illumination map", }, emissiveblendflowtexture = { type = "texture", friendly = "FlowTexture", description = "flow map", }, emissiveblendtint = { type = "color", friendly = "Tint", default = Vector(1, 1, 1), description = "Self-illumination tint", }, emissiveblendscrollvector = { type = "vec2", friendly = "ScrollVector", description = "Emissive scroll vec", default = Vector(0, 0), }, }, }, unlitgeneric = { outline = { outlineend1 = { type = "float", friendly = "End1", default = 0, description = "outer end value for outline", }, outline = { type = "bool", default = false, description = "Enable outline for distance coded textures.", }, outlineend0 = { type = "float", friendly = "End0", default = 0, description = "inner end value for outline", }, outlinestart1 = { type = "float", friendly = "Start1", default = 0, description = "inner start value for outline", }, outlinecolor = { type = "color", friendly = "Color", default = Vector(1, 1, 1), description = "color of outline for distance coded images.", }, outlinestart0 = { type = "float", friendly = "Start0", default = 0, description = "outer start value for outline", }, outlinealpha = { type = "float", friendly = "Alpha", default = 1, description = "alpha value for outline", }, }, glow = { glowstart = { type = "float", friendly = "Start", default = 0, description = "start value for glow/shadow", }, glow = { type = "bool", default = false, description = "Enable glow/shadow for distance coded textures.", }, glowcolor = { type = "color", friendly = "Color", default = Vector(1, 1, 1), description = "color of outter glow for distance coded line art.", }, glowalpha = { type = "float", friendly = "Alpha", default = 1, description = "Base glow alpha amount for glows/shadows with distance alpha.", }, glowx = { type = "float", friendly = "X", default = 0, description = "texture offset x for glow mask.", }, glowend = { type = "float", friendly = "End", default = 0, description = "end value for glow/shadow", }, glowy = { type = "float", friendly = "Y", default = 0, description = "texture offset y for glow mask.", }, }, generic = { nofog = { is_flag = true, type = "integer", friendly = "NoFog", default = false, description = "flag", }, opaquetexture = { is_flag = true, type = "integer", friendly = "OpaqueTexture", default = false, description = "flag", }, nolod = { type = "bool", default = false, description = "flag", friendly = "nolod", }, ignorez = { is_flag = true, type = "integer", friendly = "Ignorez", default = false, description = "flag", }, texture = { type = "texture", description = "base texture", friendly = "texture", }, noalphamod = { is_flag = true, type = "integer", friendly = "NoAlphaMod", default = false, description = "flag", }, znearer = { is_flag = true, type = "integer", friendly = "Znearer", default = false, description = "flag", }, additive = { is_flag = true, type = "integer", friendly = "Additive", default = false, description = "flag", }, nocull = { is_flag = true, type = "integer", friendly = "NoCull", default = false, description = "flag", }, hdrcolorscale = { type = "float", friendly = "HDRColorScale", default = 1, description = "hdr color scale", }, softedges = { type = "bool", friendly = "SoftEdges", default = false, description = "Enable soft edges to distance coded textures.", }, ignore_alpha_modulation = { is_flag = true, type = "integer", friendly = "IgnoreAlphaModulation", default = false, description = "flag", }, color = { type = "color", friendly = "Color", default = Vector(1, 1, 1), description = "color", }, no_draw = { is_flag = true, type = "integer", friendly = "NoDraw", default = false, description = "flag", }, suppress_decals = { is_flag = true, type = "integer", friendly = "SuppressDecals", default = false, description = "flag", }, alpha = { type = "float", friendly = "Alpha", default = 1, description = "alpha", }, use_in_fillrate_mode = { is_flag = true, type = "integer", friendly = "UseInFillrateMode", default = false, description = "flag", }, halflambert = { is_flag = true, type = "bool", friendly = "HalfLambert", default = false, description = "flag", }, no_debug_override = { is_flag = true, type = "integer", friendly = "NoDebugOverride", default = false, description = "flag", }, decal = { is_flag = true, type = "integer", friendly = "Decal", default = false, description = "flag", }, allowalphatocoverage = { is_flag = true, type = "integer", friendly = "AllowAlphaToCoverage", default = false, description = "flag", }, color2 = { type = "color", friendly = "Color2", default = Vector(1, 1, 1), description = "color2", }, multipass = { is_flag = true, type = "integer", friendly = "Multipass", default = false, description = "flag", }, lightwarptexture = { type = "texture", friendly = "DiffuseWarpTexture", description = "1D ramp texture for tinting scalar diffuse term", }, model = { is_flag = true, type = "integer", friendly = "Model", default = false, description = "flag", }, wireframe = { is_flag = true, type = "integer", friendly = "Wireframe", default = false, description = "flag", }, translucent = { is_flag = true, type = "integer", friendly = "Translucent", default = false, description = "flag", }, flat = { is_flag = true, type = "integer", friendly = "Flat", default = false, description = "flag", }, }, ["base texture"] = { basetexturetransform = { type = "matrix", friendly = "Transform", description = "Base Texture Texcoord Transform", }, basetexture = { type = "texture", description = "Base Texture with lighting built in", default = "models/debug/debugwhite", }, frame = { type = "integer", friendly = "Frame", default = 0, description = "Animation Frame", linked = "basetexture" }, }, ["self illumination"] = { selfillum = { is_flag = true, type = "integer", default = false, description = "flag", }, selfillummask = { type = "texture", friendly = "Mask", description = "If we bind a texture here, it overrides base alpha (if any) for self illum", }, }, srgb = { gammacolorread = { type = "integer", friendly = "GammaColorRead", default = 0, description = "Disables SRGB conversion of color texture read.", }, srgbtint = { type = "color", friendly = "Tint", default = Vector(1, 1, 1), description = "tint value to be applied when running on new-style srgb parts", }, }, edge = { edgesoftnessend = { type = "float", friendly = "SoftnessEnd", default = 0, description = "End value for soft edges for distancealpha.", }, edgesoftnessstart = { type = "float", friendly = "SoftnessStart", default = 0, description = "Start value for soft edges for distancealpha.", }, }, vertex = { vertexcolor = { is_flag = true, type = "bool", friendly = "Color", default = false, description = "flag", }, vertexalphatest = { type = "bool", friendly = "AlphaTest", default = false, description = "", }, vertexalpha = { is_flag = true, type = "bool", friendly = "Alpha", default = false, description = "flag", }, }, distance = { distancealpha = { type = "bool", friendly = "Alpha", default = false, description = "Use distance-coded alpha generated from hi-res texture by vtex.", }, distancealphafromdetail = { type = "bool", friendly = "AlphaFromDetail", default = false, description = "Take the distance-coded alpha mask from the detail texture.", }, }, scale = { scaleoutlinesoftnessbasedonscreenres = { type = "bool", friendly = "OutlineSoftnessBasedOnScreenRes", default = false, description = "Scale the size of the soft part of the outline based upon resolution. 1024x768 = nominal.", }, scaleedgesoftnessbasedonscreenres = { type = "bool", friendly = "EdgeSoftnessBasedOnScreenRes", default = false, description = "Scale the size of the soft edges based upon resolution. 1024x768 = nominal.", }, }, phong = { phongwarptexture = { type = "texture", friendly = "WarpTexture", description = "2D map for warping specular", }, phongexponenttexture = { type = "texture", friendly = "ExponentTexture", description = "Phong Exponent map", }, albedo = { type = "texture", friendly = "Albedo", description = "albedo (Base texture with no baked lighting)", }, }, }, refract = { ["base texture"] = { basetexture = { type = "texture", description = "Use a texture instead of rendering the view for the source of the distorted pixels.", default = "", }, }, ["local"] = { localrefract = { type = "bool", default = false, description = "Uses alpha channel of base texture to create a parallax effect.", friendly = "Refract", }, localrefractdepth = { type = "float", default = 0, description = "Depth of the parallax effect in units.", friendly = "RefractDepth", }, }, force = { forcealphawrite = { type = "bool", friendly = "AlphaWrite", default = false, }, forcerefract = { type = "bool", default = false, friendly = "Refract", description = "Forces the shader to be used for cards with poor fill rate (DX8 only).", }, }, refract = { refracttinttexture = { type = "texture", friendly = "TintTexture", description = "Tints the colour of the refraction either uniformly or per-texel.", }, refracttinttextureframe = { type = "integer", friendly = "TintTextureFrame", description = "Frame to start an animated tint texture on.", default = 0, linked = "refracttinttexture" }, refracttint = { type = "color", friendly = "Tint", default = Vector(1, 1, 1), description = "Tint color of the refraction.", }, refractamount = { type = "float", friendly = "RefractAmount", default = 0.5, description = "How strong the refraction effect should be when the material is partially cloaked (default = 2).", }, }, generic = { vertexcolormodulate = { type = "bool", default = false, friendly = "VertexColorModulate", recompute = true, }, bluramount = { type = "integer", friendly = "BlurAmount", default = 0, description = "Adds a blur effect. Valid values are 0, 1 and 2 (0 and 1 for DX8-).", recompute = true, }, masked = { type = "bool", default = false, friendly = "Masked", description = "To do: mask using dest alpha", }, fresnelreflection = { type = "float", default = 1, friendly = "FresnelReflection", description = "Broken - Not implemented despite the parameter existing.", }, opaquetexture = { is_flag = true, type = "integer", friendly = "OpaqueTexture", default = false, description = "flag", }, fadeoutonsilhouette = { type = "bool", friendly = "FadeOutOnSilhouette", description = "0 for no fade out on silhouette, 1 for fade out on sillhouette", default = false, }, nocull = { is_flag = true, type = "integer", friendly = "NoCull", default = false, description = "flag", }, translucent = { is_flag = true, type = "integer", friendly = "Translucent", default = false, description = "flag", }, model = { is_flag = true, type = "integer", friendly = "Model", default = true, description = "flag", }, }, normal = { dudvmap = { type = "texture", friendly = "DudvMap", description = "The pattern of refraction is defined by a normal map (DX9+) or DUDV map (DX8-). May be animated.", default = "dev/water_dudv", }, normalmap = { type = "texture", friendly = "NormalMap", description = "The pattern of refraction is defined by a normal map (DX9+) or DUDV map (DX8-). May be animated.", default = "dev/water_normal", }, normalmap2 = { type = "texture", friendly = "SecondNormalMap", description = "If a second normal map is specified, it will be blended with the first one.", }, bumpframe = { type = "int", default = 0, friendly = "BumpFrame", description = "The frame to start the first animated bump map on.", linked = "normalmap" }, bumpframe2 = { type = "int", default = 0, friendly = "SecondBumpFrame", description = "The frame to start the second animated bump map on.", linked = "normalmap2" }, bumptransform = { type = "matrix", friendly = "Transform", description = "Transform of the first bump map.", }, bumptransform2 = { type = "matrix", friendly = "Second Transform", description = "Transform of the second bump map.", }, }, }, }, base = { ["base texture"] = { basetexture = { type = "texture", description = "Base Texture with lighting built in", default = "models/debug/debugwhite", }, basetexturetransform = { type = "matrix", friendly = "Transform", description = "Base Texture Texcoord Transform", }, frame = { type = "integer", friendly = "Frame", default = 0, description = "Base Texture Animation Frame", linked = "basetexture" }, }, detail = { detail = { type = "texture", friendly = "Texture", description = "detail texture", }, detailblendfactor = { type = "float", friendly = "BlendFactor", default = 1, description = "blend amount for detail texture.", }, detailframe = { type = "integer", friendly = "Frame", default = 0, description = "frame number for $detail", linked = "detail" }, detailblendmode = { recompute = true, type = "integer", friendly = "BlendMode", default = 0, description = "mode for combining detail texture with base.".. [[ 0 = original mode 1 = ADDITIVE base.rgb+detail.rgb*fblend 2 = alpha blend detail over base 3 = straight fade between base and detail. 4 = use base alpha for blend over detail 5 = add detail color post lighting 6 = TCOMBINE_RGB_ADDITIVE_SELFILLUM_THRESHOLD_FADE 6 7 = use alpha channel of base to select between mod2x channels in r+a of detail 8 = multiply 9 = use alpha channel of detail to mask base 10 = use detail to modulate lighting as an ssbump 11 = detail is an ssbump but use it as an albedo. shader does the magic here - no user needs to specify mode 11 12 = there is no detail texture ]], }, detailscale = { type = "float", friendly = "SimpleScale", default = 1, description = "scale of the detail texture", }, detailtexturetransform = { type = "matrix", friendly = "Transform", description = "$detail texcoord transform", }, }, ["depth blend"] = { depthblendscale = { friendly = "Scale", type = "float", description = "Amplify or reduce DEPTHBLEND fading. Lower values make harder edges.", default = 50, }, depthblend = { type = "float", description = "fade at intersection boundaries", default = 0, friendly = "Blend", }, }, generic = { separatedetailuvs = { type = "bool", friendly = "SeparateDetailUv", default = false, description = "Use texcoord1 for detail texture", }, alpha = { type = "float", friendly = "Alpha", default = 1, description = "alpha", }, }, srgb = { linearwrite = { type = "bool", friendly = "LinearWrite", default = false, description = "Disables SRGB conversion of shader results.", }, srgbtint = { type = "color", friendly = "Tint", default = Vector(1, 1, 1), description = "tint value to be applied when running on new-style srgb parts", }, }, phong = { phongtint = { type = "color", friendly = "Tint", description = "Phong tint for local specular lights", }, phongfresnelranges = { type = "vec3", friendly = "FresnelRanges", description = "Parameters for remapping fresnel output", default = Vector(0.05, 0.5, 1), }, phongalbedotint = { type = "bool", friendly = "AlbedoTint", default = false, description = "Apply tint by albedo (controlled by spec exponent texture", }, phongexponent = { type = "float", friendly = "Exponent", default = 5, description = "Phong exponent for local specular lights", }, phong = { type = "bool", default = false, friendly = "Enable", description = "enables phong lighting", }, phongboost = { type = "float", friendly = "Boost", default = 1, description = "Phong overbrightening factor (specular mask channel should be authored to account for this)", }, }, flashlight = { flashlighttexture = { type = "texture", friendly = "Texture", description = "flashlight spotlight shape texture", }, flashlightnolambert = { type = "bool", friendly = "NoLambert", default = false, description = "Flashlight pass sets N.L=1.0", }, flashlighttextureframe = { type = "integer", friendly = "Frame", default = 0, description = "Animation Frame for $flashlight", linked = "flashlighttexture" }, receiveflashlight = { type = "bool", friendly = "ReceiveFlashlight", default = false, description = "Forces this material to receive flashlights.", }, }, ["alpha test"] = { alphatest = { is_flag = true, type = "integer", friendly = "AlphaTest", default = false, description = "flag", }, alphatestreference = { recompute = true, type = "float", friendly = "Reference", default = 0.7, description = "", }, }, ["environment map"] = { envmapmasktransform = { type = "matrix", friendly = "MaskTransform", description = "$envmapmask texcoord transform", }, envmapsaturation = { type = "float", friendly = "Saturation", default = 1, description = "saturation 0 == greyscale 1 == normal", }, envmapcontrast = { type = "float", friendly = "Contrast", default = 0, description = "contrast 0 == normal 1 == color*color", }, envmapmask = { type = "texture", friendly = "Mask", description = "envmap mask", }, envmapmaskframe = { type = "integer", friendly = "MaskFrame", default = 0, description = "Frame of the animated mask.", linked = "envmapmask" }, envmapcameraspace = { is_flag = true, type = "integer", friendly = "CameraSpace", default = false, description = "flag", }, envmap = { type = "texture", friendly = "Envmap", description = "envmap. won't work if hdr is enabled", default = "", partial_hdr = true }, envmapframe = { type = "integer", friendly = "Frame", default = 0, description = "envmap frame number", linked = "envmap" }, envmapmode = { is_flag = true, type = "integer", friendly = "Mode", default = false, description = "flag", }, envmaptint = { type = "color", friendly = "Tint", default = Vector(1, 1, 1), description = "envmap tint", }, envmapsphere = { is_flag = true, type = "integer", friendly = "Sphere", default = false, description = "flag", }, normalmapalphaenvmapmask = { is_flag = true, type = "integer", friendly = "NormalmapAlphaMask", default = false, description = "flag", }, basealphaenvmapmask = { is_flag = true, type = "integer", friendly = "BaseAlphaMask", default = false, description = "flag", }, }, vertex = { vertexalpha = { is_flag = true, type = "bool", friendly = "Alpha", default = false, description = "flag", }, vertexcolor = { is_flag = true, type = "bool", friendly = "Color", default = false, description = "flag", }, }, } }