SoEnvironment(3IV)NAMESoEnvironment (SoEnv) - global environment node
INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoEnvironmentSYNOPSIS
#include <Inventor_c/nodes/SoEnvironment.h>
typedef SoEnvironment SoEnv
enum SoEnvironmentFogType {
SO_ENV_NONE No fog
SO_ENV_HAZE Linear increase in opacity with distance
SO_ENV_FOG Exponential increase in opacity
SO_ENV_SMOKE Exponential squared increase in opacity
}
Fields from class SoEnvironment:
SoSFFloat ambientIntensity
SoSFColor ambientColor
SoSFVec3f attenuation
SoSFEnum fogType
SoSFColor fogColor
SoSFFloat fogVisibility
Functions from class SoEnvironment:
SoEnvironment * SoEnvCreate()
SoType SoEnvGetClassTypeId()
Functions from class SoNode:
void SoEnvSetOverride(SoEnv *this, SbBool state)
SbBool SoEnvIsOverride(const SoEnv *this)
SoNode * SoEnvCopy(const SoEnv *this, SbBool copyConnections =
FALSE)
SbBool SoEnvAffectsState(const SoEnv *this)
SoNode * SoEnvGetByName(const char *name)
int SoEnvGetByNameList(const char *name, SoNodeList
*list)
Functions from class SoFieldContainer:
void SoEnvSetToDflts(SoEnv *this)
SbBool SoEnvHasDfltVals(const SoEnv *this)
SbBool SoEnvFldsAreEq(const SoEnv *this, const
SoFieldContainer *fc)
void SoEnvCopyFieldVals(SoEnv *this, const
SoFieldContainer *fc, SbBool copyConnections =
FALSE)
Page 1SoEnvironment(3IV)
SbBool SoEnvSet(SoEnv *this, const char *fieldDataString)
void SoEnvGet(SoEnv *this, SbString *fieldDataString)
int SoEnvGetFields(const SoEnv *this, SoFieldList
*resultList)
SoField * SoEnvGetField(const SoEnv *this, const char
*fieldName)
SbBool SoEnvGetFieldName(const SoEnv *this, const SoField
*field, SbName *fieldName)
SbBool SoEnvIsNotifyEnabled(const SoEnv *this)
SbBool SoEnvEnableNotify(SoEnv *this, SbBool flag)
Functions from class SoBase:
void SoEnvRef(SoEnv *this)
void SoEnvUnref(const SoEnv *this)
void SoEnvUnrefNoDelete(const SoEnv *this)
void SoEnvTouch(SoEnv *this)
SoType SoEnvGetTypeId(const SoEnv *this)
SbBool SoEnvIsOfType(const SoEnv *this, SoType type)
void SoEnvSetName(SoEnv *this, const char *name)
SbName SoEnvGetName(const SoEnv *this)
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).
Page 2SoEnvironment(3IV)
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.
FUNCTIONSSoEnvironment * SoEnvCreate()
Creates an environment node with default settings.
SoType SoEnvGetClassTypeId()
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
Page 3