Coin Logo http://www.sim.no
http://www.coin3d.org

Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions

SoEnvironment Class Reference

The SoEnvironment class is a node for specifying global rendering parameters.This node type provides the application programmer with the ability to set global parameters influencing lighting and fog. More...

#include <Inventor/nodes/SoEnvironment.h>

Inheritance diagram for SoEnvironment:
SoNode SoFieldContainer SoBase

List of all members.

Public Types

enum  FogType { NONE = SoEnvironmentElement::NONE, HAZE = SoEnvironmentElement::HAZE, FOG = SoEnvironmentElement::FOG, SMOKE = SoEnvironmentElement::SMOKE }

Public Member Functions

 SoEnvironment (void)
virtual void GLRender (SoGLRenderAction *action)
virtual void callback (SoCallbackAction *action)

Static Public Member Functions

static void initClass (void)

Public Attributes

SoSFFloat ambientIntensity
SoSFColor ambientColor
SoSFVec3f attenuation
SoSFEnum fogType
SoSFColor fogColor
SoSFFloat fogVisibility

Protected Member Functions

virtual ~SoEnvironment ()

Detailed Description

The SoEnvironment class is a node for specifying global rendering parameters.

This node type provides the application programmer with the ability to set global parameters influencing lighting and fog.

FILE FORMAT/DEFAULTS:

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

Member Enumeration Documentation

Enumeration of available types of fog.

Enumerator:
NONE 

No fog. Visibility will be equal for all objects, independent of distance to camera.

HAZE 

Fog where visibility will decrease linearly with distance to camera.

FOG 

Fog where visibility will decrease exponentially with distance to camera.

SMOKE 

Fog where visibility will decrease exponentially with the square of the distance to camera (simulating really thick fog).


Constructor & Destructor Documentation

SoEnvironment::SoEnvironment ( void  )
SoEnvironment::~SoEnvironment ( ) [protected, virtual]

Destructor.


Member Function Documentation

void SoEnvironment::initClass ( void  ) [static]

Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.

Reimplemented from SoNode.

void SoEnvironment::GLRender ( SoGLRenderAction action) [virtual]

Action method for the SoGLRenderAction.

This is called during rendering traversals. Nodes influencing the rendering state in any way or who wants to throw geometry primitives at OpenGL overrides this method.

Reimplemented from SoNode.

References ambientColor, ambientIntensity, attenuation, fogColor, fogType, fogVisibility, SoAction::getState(), and SoFieldContainer::set().

void SoEnvironment::callback ( SoCallbackAction action) [virtual]

Action method for SoCallbackAction.

Simply updates the state according to how the node behaves for the render action, so the application programmer can use the SoCallbackAction for extracting information about the scene graph.

Reimplemented from SoNode.

References ambientColor, ambientIntensity, attenuation, fogColor, fogType, fogVisibility, SoAction::getState(), and SoFieldContainer::set().


Member Data Documentation

A global ambient value for the light intensity for the complete scene. This will provide some light even when there are no light sources defined for the scene.

Valid values is from 0.0 (no ambient light) to 1.0 (full ambient light intensity). Default value is 0.2.

Referenced by callback(), GLRender(), and SoEnvironment().

The color of the global ambient light. Defaults to full intensity white, ie <1.0, 1.0, 1.0>.

Each component of this RGB vector is multiplied with the scalar value of SoEnvironment::ambientIntensity.

Referenced by callback(), GLRender(), and SoEnvironment().

Squared, linear, and constant light attenuation coefficients (in that order). Please note that this is the reverse order of how attenuation is usually specified.

Referenced by callback(), GLRender(), and SoEnvironment().

The fog model. See SoEnvironment::FoType.

Referenced by callback(), GLRender(), and SoEnvironment().

Color of fog. Defaults to full intensity white.

Referenced by callback(), GLRender(), and SoEnvironment().

The "cut-off" distance from the camera where objects will be totally obscured by fog. If set to 0.0, the far plane distance will be used instead.

Default value is 0.0.

Referenced by callback(), GLRender(), and SoEnvironment().


The documentation for this class was generated from the following files:

Copyright © 1998-2007 by Systems in Motion AS. All rights reserved.

Generated on Mon Feb 28 2011 10:12:09 for Coin by Doxygen. 1.7.3