Reflection (DED)

Any surface (flats or walls) can be rendered with shiny surface properties. This allows for some very interesting tricks to be created such as specular “reflections”. You can use a mask with the shiny surfaces to mask out areas of shininess but a mask can be used to also increase the effect of shininess on areas of a texture. Reflection definitions support the use of any of the new blending mode flags such as add and subtract.

Syntax

Reflection
{
   Texture = "";
       # The wall texture this reflection will be associated with. A 
       # reflection can only be associated with either a texture or a 
       # flat, not both.
   Flat = "";
       # The flat this reflection will be associated with.
   Flags = flaga | flagb | flagc etc...
       # NEW in 1.9.0-beta6
       # noiwad: Don't use this reflection if the resource is loaded from an IWAD.
       # pwad: This reflection can be used with PWAD resources (for example custom textures).
       # ext: This reflection can be used with external resources.
   Blending mode = add;
       # One of the bm_* flags defined in Flags.ded. By default 
       # reflections use additive blending.
   Shininess = 1.0;
       # Strength of the shiny effect. 1.0 is the maximum value. This
       # is used as the alpha component when doing blending.
   Min color { 0.0 0.0 0.0 }
       # By default the shiny effect uses sector light as the basic color
       # of the effect. The Min color RGB values (0..1) can be used to
       # set a minimum light level for the effect so it'll show up even
       # in very dark sectors.
   Shiny map = "";
       # Name of the external resource that is used as the shiny map for
       # this reflection. By default the resource is searched in the
       # LightMaps resource directory. The shiny map is mapped onto 
       # reflecting surfaces using a mapping that resembles cylindrical
       # environment mapping. The dimensions of the map must be powers
       # of two, for example 128 x 64 or 32 x 128.
   Mask map = "";
       # Name of the external resource that is used to mask out the 
       # shininess of a surfaces. The mask map is mapped onto surfaces 
       # using the same texture coordinates that are used for mapping 
       # regular textures. The darker the texel in the mask, the fainter
       # the reflection becomes. The dimensions of the map must be powers
       # of two, for example 128 x 64 or 32 x 128.
   Mask width = 1.0;
       # A factor for the width of the mask. This can be used to make the
       # mask span beyond the mapping of the regular texture of the 
       # surface. For example, consider a surface with a texture that is
       # 64 texels wide. Regardless of the mask's horizontal resolution,
       # the mask is always mapped onto the regular texture so that their
       # edges overlap. If the mask width value is 1.0, the mask is as 
       # wide as the 64 texel original texture. If mask width is increased 
       # to 2.0, the mask is mapped so that it is as wide as a 128 texel 
       # texture.
   Mask height = 1.0;
       # A factor for the height of the mask.
}