TINMAN 3D / REALTIME TERRAIN
Software Development Kit - User Manual

class EnvironmentMap in Tinman.AddOns.Components

Abstract base class for IEnvironmentMap implementations.

abstract class EnvironmentMap implements IEnvironmentMap
  extends VersionedBase
  base of EnvironmentMapImage
  EnvironmentMapSky
  EnvironmentMapTransform

Public / Attributes

HasHemisphericFog

Should hemispheric fog be used for this environment map?

public abstract property HasHemisphericFog { get }
type bool
value true if hemispheric fog should be used, false if not.
implements IEnvironmentMap.HasHemisphericFog

LightLatitude

Latitude of the prominent light in this environment map, if applicable.

public virtual property LightLatitude { get }
type float64
value [-90..90] The latitude angle in degrees or NanD if there is no prominent light.
implements ILightProvider.LightLatitude

LightLongitude

Longitude of the prominent light in this environment map, if applicable.

public virtual property LightLongitude { get }
type float64
value [-180..180] The longitude angle in degrees or NanD if there is no prominent light.
implements ILightProvider.LightLongitude

LightSize

Apparent size of prominent light in this environment map, if applicable.

public virtual property LightSize { get }
type float64
value [>=0] The apparent diameter of the prominent light, given as an angle in degrees. Will be NanD if there is no prominent light.
implements ILightProvider.LightSize

SetLightMask

Can the SetLight method be used to configure the prominent light?

public virtual property SetLightMask { get }
type int32
value Zero or more of the following bits:
1: LightLatitude can be configured.
2: LightLongitude can be configured.
4: LightSize can be configured.
implements ILightProvider.SetLightMask

Version

Returns the current version of object.

public property Version { get }
type int32
value The current version number.
inherited VersionedBase.Version

Remarks:

For each modification, the version is incremented by at least one.

Public / Methods

ComputeEnvironmentColor

Computes the environment color at the given coordinates.

[Pure]
public abstract method ComputeEnvironmentColor (float64 latitude, float64 longitude)
type int64
params latitude The latitude angle of the view direction, in the range [-90..90] degrees. The vertical center of the environment map is at 0° latitude.. The zenith is at 90° latitude.
  longitude The longitude angle of the view direction, in the range [-180..180] degrees. The horizontal center of the environment map is at 0° longitude.
returns The computed environment map color.
implements IEnvironmentMap.ComputeEnvironmentColor

See also:

Colors

CreateResource

Creates a new resource object, using the given graphics context.

[OwnerReturn]
public method CreateResource (Graphics graphics)
type IResource
params graphics [not-null] The graphics context to use.
returns The resource object or null.
implements IResourceHandle.CreateResource

Remarks:

Resource objects may implement the IMemoryConsumption interface. In this case, the reported memory consumption will be interpreted as an estimate on how much GPU memory is consumed by the resource. This estimate can then be used for resource caching (e.g. CacheMemory).

Equals

Compares this object with the given one.

[Pure]
public method Equals (IResourceHandle other)
type bool
params other The object to compare to.
returns true if this object is equal to other, false if not.
implements IEquatable.Equals

GetHashCode

[Pure]
public override sealed method GetHashCode ()
type int32

LightVector

Computes the direction vector of a light in this environment map.

[Pure]
public static method LightVector (float64 latitude, float64 longitude)
type Vec3D
params latitude The latitude angle of the light, in the range [-90..90] degrees.
  longitude The longitude angle of the light, in the range [-180..180] degrees.
returns The unit-length light direction vector, in world-space.

SetLight

Configures the prominent light.

public virtual method SetLight (float64 latitude, float64 longitude, float64 size)
params latitude Latitude of the prominent light in this environment map (see LightLatitude).
  longitude Longitude of the prominent light in this environment map (see LightLongitude).
  size Apparent size of prominent light in this environment map, in degrees (see LightSize).
implements ILightProvider.SetLight

Protected / Attributes

VersionAggregated

Returns the version of aggregated objects, which will be added to the current version of this object.

[EmptyBody]
protected virtual property VersionAggregated { get }
type int32
value The aggregated version.
inherited VersionedBase.VersionAggregated

Protected / Constructors

EnvironmentMap

Creates a new instance of EnvironmentMap.

protected constructor EnvironmentMap ()

Protected / Methods

VersionIncrement

Increments the version of this object.

protected method VersionIncrement ()
inherited VersionedBase.VersionIncrement