Scroll to navigation

SoEnvironment(3IV)() SoEnvironment(3IV)()

NAME

SoEnvironment — global environment node

INHERITS FROM

SoBase > SoFieldContainer > SoNode > SoEnvironment

SYNOPSIS

#include <Inventor/nodes/SoEnvironment.h>
 

enum FogType {

SoEnvironment::NONE No fog
 

SoEnvironment::HAZE Linear increase in opacity with distance
 

SoEnvironment::FOG Exponential increase in opacity
 

SoEnvironment::SMOKE Exponential squared increase in opacity
 

}
 

Fields from class SoEnvironment:
 

SoSFFloat ambientIntensity
 

SoSFColor ambientColor
 

SoSFVec3f attenuation
 

SoSFEnum fogType
 

SoSFColor fogColor
 

SoSFFloat fogVisibility
 

Methods from class SoEnvironment:
 

SoEnvironment()
 

static SoType getClassTypeId()
 

Methods from class SoNode:
 

void setOverride(SbBool state)
 

SbBool isOverride() const
 

SoNode * copy(SbBool copyConnections = FALSE) const
 

virtual SbBool affectsState() const
 

static SoNode * getByName(const SbName &name)
 

static int getByName(const SbName &name, SoNodeList &list)
 

Methods from class SoFieldContainer:
 

void setToDefaults()
 

SbBool hasDefaultValues() const
 

SbBool fieldsAreEqual(const SoFieldContainer *fc) const
 

void copyFieldValues(const SoFieldContainer *fc, SbBool copyConnections = FALSE)
 

SbBool set(const char *fieldDataString)
 

void get(SbString &fieldDataString)
 

virtual int getFields(SoFieldList &resultList) const
 

virtual SoField * getField(const SbName &fieldName) const
 

SbBool getFieldName(const SoField *field, SbName &fieldName) const
 

SbBool isNotifyEnabled() const
 

SbBool enableNotify(SbBool flag)
 

Methods from class SoBase:
 

void ref()
 

void unref() const
 

void unrefNoDelete() const
 

void touch()
 

virtual SoType getTypeId() const
 

SbBool isOfType(SoType type) const
 

virtual void setName(const SbName &name)
 

virtual SbName getName() const
 

DESCRIPTION

This node describes global environmental attributes such as ambient lighting, light attenuation, and fog.
 
Ambient lighting is the amount of extra light impinging on each surface point when the lighting model is Phong (see SoLightModel).
 
Light attenuation affects all subsequent lights in a scene (see SoLight). It is a quadratic function of distance from a light source to a surface point. The three coefficients are specified in the attenuation field. Attenuation works only for light sources with a fixed location, such as point and spot lights.
 
Fog has one of four types, each of which blends each surface point with the specified fog color. Each type interprets the visibility field to be the distance at which fog totally obscures objects. A visibility value of 0 (the default) causes the SoEnvironment node to set up fog so that the visibility is the distance to the far clipping plane of the current camera.
 
Note that this node has effect only during rendering, and that it does not inherit field values from other SoEnvironment nodes.

FIELDS


SoSFFloat ambientIntensity
 

SoSFColor ambientColor
 

Intensity and RGB color of ambient lighting (for Phong lighting).
 


SoSFVec3f attenuation
 

Squared, linear, and constant light attenuation coefficients (in that order) with respect to distance of light from surface (for Phong lighting).
 


SoSFEnum fogType
 

SoSFColor fogColor
 

SoSFFloat fogVisibility
 

Type of fog, color of fog, and visibility distance, which is the distance at which fog totally obscures objects.
 

METHODS


SoEnvironment()
 

Creates an environment node with default settings.
 


static SoType getClassTypeId()
 

Returns type identifier for this class.
 

ACTION BEHAVIOR

SoGLRenderAction
 

Sets the current environment parameters to those specified with this node. Successive geometries will be rendered using this environment.
 

FILE FORMAT/DEFAULTS

Environment {

ambientIntensity 0.2 ambientColor 1 1 1 attenuation 0 0 1 fogType NONE fogColor 1 1 1 fogVisibility 0
}

SEE ALSO

SoLight, SoLightModel