[ { "name": "ShaderEnvironmentType", "options": [ "normal", "blended", "blended base specular" ], "type": "enum" }, { "name": "ShaderEnvironmentReflectionType", "options": [ "bumped cube map", "flat cube map", "bumped radiosity" ], "type": "enum" }, { "name": "ShaderEnvironmentFlags", "type": "bitfield", "fields": [ "alpha tested", "bump map is specular mask", "true atmospheric fog" ], "width": 16 }, { "name": "ShaderEnvironmentDiffuseFlags", "type": "bitfield", "fields": [ "rescale detail maps", "rescale bump map" ], "width": 16 }, { "name": "ShaderEnvironmentSpecularFlags", "type": "bitfield", "fields": [ "overbright", "extra shiny", "lightmap is specular" ], "width": 16 }, { "name": "ShaderEnvironmentReflectionFlags", "type": "bitfield", "fields": [ "dynamic mirror" ], "width": 16 }, { "name": "ShaderEnvironment", "groups": [ { "name": "environment shader", "description": "Shader Environment attributes", "first": "shader environment flags" } ], "fields": [ { "name": "shader environment flags", "type": "ShaderEnvironmentFlags" }, { "name": "shader environment type", "type": "ShaderEnvironmentType" }, { "name": "lens flare spacing", "type": "float" }, { "name": "lens flare", "type": "TagReference", "groups": [ "lens_flare" ] }, { "type": "pad", "size": 44 }, { "name": "diffuse flags", "type": "ShaderEnvironmentDiffuseFlags" }, { "type": "pad", "size": 2 }, { "type": "pad", "size": 24 }, { "name": "base map", "type": "TagReference", "groups": [ "bitmap" ] }, { "type": "pad", "size": 24 }, { "name": "detail map function", "type": "ShaderDetailFunction" }, { "type": "pad", "size": 2 }, { "name": "primary detail map scale", "type": "float", "default": 1.0 }, { "name": "primary detail map", "type": "TagReference", "groups": [ "bitmap" ] }, { "name": "secondary detail map scale", "type": "float", "default": 1.0 }, { "name": "secondary detail map", "type": "TagReference", "groups": [ "bitmap" ] }, { "type": "pad", "size": 24 }, { "name": "micro detail map function", "type": "ShaderDetailFunction" }, { "type": "pad", "size": 2 }, { "name": "micro detail map scale", "type": "float", "default": 1.0 }, { "name": "micro detail map", "type": "TagReference", "groups": [ "bitmap" ] }, { "name": "material color", "type": "ColorRGB" }, { "type": "pad", "size": 12 }, { "name": "bump map scale", "type": "float", "default": 1.0 }, { "name": "bump map", "type": "TagReference", "groups": [ "bitmap" ] }, { "name": "bump map scale xy", "type": "Point2D", "cache_only": true }, { "type": "pad", "size": 16 }, { "name": "u animation function", "type": "WaveFunction" }, { "type": "pad", "size": 2 }, { "name": "u animation period", "type": "float", "unit": "seconds", "default": 1.0 }, { "name": "u animation scale", "type": "float", "unit": "base map repeats", "default": 1.0 }, { "name": "v animation function", "type": "WaveFunction" }, { "type": "pad", "size": 2 }, { "name": "v animation period", "type": "float", "unit": "seconds", "default": 1.0 }, { "name": "v animation scale", "type": "float", "unit": "base map repeats", "default": 1.0 }, { "type": "pad", "size": 24 }, { "name": "self illumination flags", "type": "IsUnfilteredFlag" }, { "type": "pad", "size": 2 }, { "type": "pad", "size": 24 }, { "name": "primary on color", "type": "ColorRGB" }, { "name": "primary off color", "type": "ColorRGB" }, { "name": "primary animation function", "type": "WaveFunction" }, { "type": "pad", "size": 2 }, { "name": "primary animation period", "type": "float", "unit": "seconds", "default": 1.0 }, { "name": "primary animation phase", "unit": "seconds", "type": "float" }, { "type": "pad", "size": 24 }, { "name": "secondary on color", "type": "ColorRGB" }, { "name": "secondary off color", "type": "ColorRGB" }, { "name": "secondary animation function", "type": "WaveFunction" }, { "type": "pad", "size": 2 }, { "name": "secondary animation period", "unit": "seconds", "type": "float", "default": 1.0 }, { "name": "secondary animation phase", "unit": "seconds", "type": "float" }, { "type": "pad", "size": 24 }, { "name": "plasma on color", "type": "ColorRGB" }, { "name": "plasma off color", "type": "ColorRGB" }, { "name": "plasma animation function", "type": "WaveFunction" }, { "type": "pad", "size": 2 }, { "name": "plasma animation period", "type": "float", "unit": "seconds", "default": 1.0 }, { "name": "plasma animation phase", "unit": "seconds", "type": "float" }, { "type": "pad", "size": 24 }, { "name": "map scale", "type": "float", "default": 1.0 }, { "name": "map", "type": "TagReference", "groups": [ "bitmap" ] }, { "type": "pad", "size": 24 }, { "name": "specular flags", "type": "ShaderEnvironmentSpecularFlags" }, { "type": "pad", "size": 2 }, { "type": "pad", "size": 16 }, { "name": "brightness", "minimum": 0.0, "maximum": 1.0, "type": "Fraction" }, { "type": "pad", "size": 20 }, { "name": "perpendicular color", "type": "ColorRGB" }, { "name": "parallel color", "type": "ColorRGB" }, { "type": "pad", "size": 16 }, { "name": "reflection flags", "type": "ShaderEnvironmentReflectionFlags" }, { "name": "reflection type", "type": "ShaderEnvironmentReflectionType" }, { "name": "lightmap brightness scale", "minimum": 0.0, "maximum": 1.0, "type": "Fraction" }, { "type": "pad", "size": 28 }, { "name": "perpendicular brightness", "minimum": 0.0, "maximum": 1.0, "type": "Fraction" }, { "name": "parallel brightness", "minimum": 0.0, "maximum": 1.0, "type": "Fraction" }, { "type": "pad", "size": 16 }, { "type": "pad", "size": 8 }, { "type": "pad", "size": 16 }, { "name": "reflection cube map", "type": "TagReference", "groups": [ "bitmap" ] }, { "type": "pad", "size": 16 } ], "type": "struct", "inherits": "Shader", "size": 836, "group": "shader_environment", "needs_preprocessed": true, "needs_postprocessed": true } ]