OBD talk:OBLS

From OniGalore
Revision as of 04:11, 11 December 2023 by Iritscen (talk | contribs) (some thoughts/questions on OBLS)
Jump to navigation Jump to search

It would look like Oni used to support rather advanced lighting setups. Spatial distributions were not limited to point light sources, and allowed area lights (i.e., whole polygon surfaces emitting light with a uniform density) as well as "linear" distributions of light (something like a zero-thickness neon tube). As for the angular distribution, it could be either diffuse (light radiated in all directions from the source) or spot-like, determined by a "beam angle" (size of the cone where the radiated light intensity is maximal/nominal) and a "field angle" (size of the cone beyond which there is no light radiated at all), supposedly with linear falloff in-between. Although the beam and field angles only make sense for spot lights (and thus were probably unavailable for the "diffuse" flavor of angular distribution), it is not obvious from the dialog whether the "spot" flavor of angular distribution was available for all the flavors of the spatial distribution, or only for "point". On another note, there are no separate fields for specifying the spatial extent of linear or area lights, so it must be assumed that the OBLS settings were matched with some conventional M3GM (when used in OFGA), which somehow determined the 3D position of the light, the orientation and extent of the linear/area distribution (if applicable) as well as the normal/central direction of a spot-like angular distribution (also if applicable). Or it was the ENVP particle link of the OFGA that provided the information about the 3D position, orientation and size of the light source. Or maybe OFGA didn't look up the full set of settings from an OBLS (and, e.g., only used the color and ignored the rest). I dunno LOL. --geyser (talk) 00:53, 29 August 2020 (CEST)

What were these light sources used for, since Bungie West doesn't seem to have ever planned to give the game realtime lighting? This early design document called for "radiosity", which BWest must have known was only feasible by pre-calculating it in a program like Lightscape and importing those solutions into Oni as static lightmaps.
Some possible uses for OBLS that come to mind:
  • Realtime character shadows and lighting. Before realtime shadows were canceled mid-development, they only extended downwards from the character models, but ideally shadows would have been cast at angles appropriate for the lighting in the room, and OBLS would have been needed for that. (Note that other games were already doing realtime shadows such as Outcast (1999), Nocturne (1999) and Heavy Metal FAKK 2 (2000), so this would have been on their mind.) I don't know if they ever planned to light characters based on something other than a fixed linear source (a sun), but OBLS would have been necessary to recognize when a character, say, stepped into one of these spotlights.
  • The player was once intended to be able to "kill the lights", which either meant hitting a light switch or shooting out the lights directly. OBLS would have given the player targets to shoot at which could then be disabled. But how would the lighting in the room change if it was based off static lightmaps? If your only option as a player was to turn off the whole room at once, a new "lights off" lightmap could be swapped in (or the existing one simply turned off). But if lights were meant to be breakable, that would imply that BWest meant to have realtime lighting after all, since you couldn't meaningfully react to individual broken lights otherwise.
  • Rather than producing realtime lighting (whether radiosity or something simpler), maybe the goal of OBLS was merely to supplement static lightmaps with dynamic local effects that could pulse, flicker, and switch on/off. It's likely that BWest also wanted weapons fire to be able to light the environment (as other games were beginning to do), so if they had implemented some simple proximity lighting for use with projectiles, they could have used it for OBLS light sources too. --Iritscen (talk) 04:11, 11 December 2023 (UTC)