AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |
Back to Blog
Gzdoom dynamic shadows9/23/2023 ![]() ![]() If several lights are bound for the same object to the same sprite or frame, only the last binding applies. It is possible to bind multiple lights to a single object, however only at most two lights will be used on a given frame: the one bound for this object to this frame in particular, and the one bound to the sprite. LIGHTNAME: The name of a previously defined light (see above).For example, "MISL" will bind the light to all frames (used by that object) using a "MISL" sprite whereas "MISLA" will bind the light specifically to the "MISLA" frame. This can be either a sprite name (four characters) or a frame name (five characters). SPRITENAME: The first few characters of the sprite name.A full list of these can be found at the ZDoom wiki. For the first method, see the actor states article. The most important difference is that bindings made in DECORATE code are preserved through inheritance, whereas bindings made in GLDEFS are applied only to the actor itself and not its descendants. There are two possible methods to do so the binding can be done directly in the actors' DECORATE code, or in the GLDEFS lump. Once dynamic lights are defined, they must be bound to actors. SCALE: How much of the containing sector's intensity to use (between 0.0 and 1.0).The sectorlight takes its intensity from the light level of the sector it's in. Same as for pulselight, but 0.1 is one second, not 1.0. INTERVAL: The time between 'flickering' to a new random size.SIZE and SECSIZE: Lower and upper bounds for the size (the light will pick a random value between the two).The value ranges from 0.0 (never) and 1.0 (always). CHANCE: The chance, each frame, that it will flicker to the second size.SECSIZE: The second size to flicker (will alternate between SIZE and SECSIZE).INTERVAL: The time it takes to complete a full pulse (in seconds).If dontlightmap is set to 1, the dynamic light will not light up the maps' geometry, and only cast light on actors. If dontlightothers is set to 1, the dynamic light will not light any other actors besides the one it is attached to. If noshadowmap is set to 1, the dynamic light will not emit any shadowmaps on the level, which are shadows that are emitted by lights when they hit void surfaces. If dontlightactors is set to 1, the dynamic light will not affect any actors, and only light up the level geometry. If dontlightself is set to 1, the dynamic light will not affect the actor to which it is attached to. Attenuated lights illuminate surfaces depending on surface angle - surfaces that are not facing the light will get progressively less illuminated. Subtractive lights 'darken' the area around them rather than light them. This is relative to a thing's sprite, not the world, so the Y axis is height and the Z axis is depth. X, Y and Z: The offset for the light in map units. ![]()
0 Comments
Read More
Leave a Reply. |