Ocean
Ocean::Rendering::BlendAttribute Class Reference

This class is the base class for all blend attributes. More...

Inheritance diagram for Ocean::Rendering::BlendAttribute:

Public Types

enum  BlendingFunction {
  FUNCTION_INVALID , FUNCTION_ZERO , FUNCTION_ONE , FUNCTION_DESTINATION_COLOR ,
  FUNCTION_SOURCE_COLOR , FUNCTION_ONE_MINUS_DESTINATION_COLOR , FUNCTION_ONE_MINUS_SOURCE_COLOR , FUNCTION_SOURCE_ALPHA ,
  FUNCTION_ONE_MINUS_SOURCE_ALPHA , FUNCTION_DESTINATION_ALPHA , FUNCTION_ONE_MINUS_DESTINATION_ALPHA , FUNCTION_SOURCE_ALPHA_SATURATE
}
 Defines several blending functions. More...
 
- Public Types inherited from Ocean::Rendering::Object
enum  ObjectType {
  TYPE_UNKNOWN , TYPE_ABSOLUTE_TRANSFORM , TYPE_ATTRIBUTE , TYPE_ATTRIBUTE_SET ,
  TYPE_BACKGROUND , TYPE_BILLBOARD , TYPE_BITMAP_FRAMEBUFFER , TYPE_BLEND_ATTRIBUTE ,
  TYPE_BOX , TYPE_CONE , TYPE_CYLINDER , TYPE_DEPTH_ATTRIBUTE ,
  TYPE_DIRECTIONAL_LIGHT , TYPE_FRAMEBUFFER , TYPE_FRAME_TEXTURE_2D , TYPE_GEOMETRY ,
  TYPE_GROUP , TYPE_INDEPENDENT_PRIMITIVE , TYPE_LIGHT_SOURCE , TYPE_LINES ,
  TYPE_LINE_STRIPS , TYPE_LOD , TYPE_MATERIAL , TYPE_NODE ,
  TYPE_OBJECT , TYPE_PARALLEL_VIEW , TYPE_PERSPECTIVE_VIEW , TYPE_PHANTOM_ATTRIBUTE ,
  TYPE_POINT_LIGHT , TYPE_POINTS , TYPE_PRIMITIVE , TYPE_PRIMITIVE_ATTRIBUTE ,
  TYPE_QUAD_STRIPS , TYPE_QUADS , TYPE_RENDERABLE , TYPE_SCENE ,
  TYPE_SHADER_PROGRAM , TYPE_SHAPE , TYPE_SKY_BACKGROUND , TYPE_SPHERE ,
  TYPE_SPOT_LIGHT , TYPE_STEREO_ATTRIBUTE , TYPE_STEREO_VIEW , TYPE_STRIP_PRIMITIVE ,
  TYPE_SWITCH , TYPE_TEXT , TYPE_TEXTURE , TYPE_TEXTURE_2D ,
  TYPE_MEDIA_TEXTURE_2D , TYPE_TEXTURE_FRAMEBUFFER , TYPE_TEXTURES , TYPE_TRANSFORM ,
  TYPE_TRIANGLE_FANS , TYPE_TRIANGLES , TYPE_TRIANGLE_STRIPS , TYPE_UNDISTORTED_BACKGROUND ,
  TYPE_VERTEX_SET , TYPE_VIEW , TYPE_WINDOW_FRAMEBUFFER
}
 Definition of different object type. More...
 
typedef std::unordered_map< ObjectId, unsigned int > ObjectIdMap
 Definition of a map holding object ids to reference counters. More...
 

Public Member Functions

virtual BlendingFunction sourceFunction () const
 Returns the blending function for the source object. More...
 
virtual BlendingFunction destinationFunction () const
 Returns the blending function for the destination object. More...
 
virtual void setSourceFunction (const BlendingFunction function)
 Sets the blending function for the source object. More...
 
virtual void setDestinationFunction (const BlendingFunction function)
 Sets the blending function for the destination object. More...
 
ObjectType type () const override
 Returns the type of this object. More...
 
- Public Member Functions inherited from Ocean::Rendering::Object
ObjectId id () const
 Returns the unique object id of this object. More...
 
const std::string & name () const
 Returns the name of this object. More...
 
virtual void setName (const std::string &name)
 Sets or changes the name of this object. More...
 
virtual const std::string & engineName () const =0
 Returns the name of the owner engine. More...
 
ObjectRefs parentObjects () const
 Returns all parent objects. More...
 
ObjectRefSet parentNodes () const
 Returns all parent nodes. More...
 
virtual std::string descriptiveInformation () const
 Returns descriptive information about the object as string. More...
 

Protected Member Functions

 BlendAttribute ()
 Creates a new blend attribute. More...
 
- Protected Member Functions inherited from Ocean::Rendering::Attribute
 Attribute ()
 Creates a new attribute object. More...
 
 ~Attribute () override
 Destructs an attribute object. More...
 
- Protected Member Functions inherited from Ocean::Rendering::Object
 Object ()
 Creates a new object. More...
 
 Object (const Object &object)=delete
 Disabled copy constructor. More...
 
virtual ~Object ()
 Destructs an object. More...
 
Engineengine () const
 Returns the render engine which is owner of this object. More...
 
void registerParent (const ObjectId parentId)
 Registers a parent node for this (child) node. More...
 
void unregisterParent (const ObjectId parentId)
 Unregisters a parent node for this (child) node. More...
 
void registerThisObjectAsParent (const ObjectRef &child)
 Registers this object at a child as parent object. More...
 
void unregisterThisObjectAsParent (const ObjectRef &child)
 Unregisters this object from a child as parent. More...
 
Objectoperator= (const Object &object)=delete
 Disabled copy operator. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Ocean::Rendering::Object
static std::string translateObjectType (const ObjectType objectType)
 Translates an object type to a readable string. More...
 
- Protected Attributes inherited from Ocean::Rendering::Object
Lock objectLock
 Lock for the object. More...
 

Detailed Description

This class is the base class for all blend attributes.

Use this attribute to enable framebuffer blending functionalities for the associated objects.
These attribute defines how an associated object is blended with already existing color values in the framebuffer.

See also
Attribute

Member Enumeration Documentation

◆ BlendingFunction

Defines several blending functions.

Enumerator
FUNCTION_INVALID 
FUNCTION_ZERO 
FUNCTION_ONE 
FUNCTION_DESTINATION_COLOR 
FUNCTION_SOURCE_COLOR 
FUNCTION_ONE_MINUS_DESTINATION_COLOR 
FUNCTION_ONE_MINUS_SOURCE_COLOR 
FUNCTION_SOURCE_ALPHA 
FUNCTION_ONE_MINUS_SOURCE_ALPHA 
FUNCTION_DESTINATION_ALPHA 
FUNCTION_ONE_MINUS_DESTINATION_ALPHA 
FUNCTION_SOURCE_ALPHA_SATURATE 

Constructor & Destructor Documentation

◆ BlendAttribute()

Ocean::Rendering::BlendAttribute::BlendAttribute ( )
protected

Creates a new blend attribute.

Member Function Documentation

◆ destinationFunction()

virtual BlendingFunction Ocean::Rendering::BlendAttribute::destinationFunction ( ) const
virtual

Returns the blending function for the destination object.

Returns
Blending function
Exceptions
NotSupportedExceptionIs thrown if this function is not supported

Reimplemented in Ocean::Rendering::GLESceneGraph::GLESBlendAttribute.

◆ setDestinationFunction()

virtual void Ocean::Rendering::BlendAttribute::setDestinationFunction ( const BlendingFunction  function)
virtual

Sets the blending function for the destination object.

Parameters
functionBlending function to set
Exceptions
NotSupportedExceptionIs thrown if this function is not supported

Reimplemented in Ocean::Rendering::GLESceneGraph::GLESBlendAttribute.

◆ setSourceFunction()

virtual void Ocean::Rendering::BlendAttribute::setSourceFunction ( const BlendingFunction  function)
virtual

Sets the blending function for the source object.

Parameters
functionBlending function to set
Exceptions
NotSupportedExceptionIs thrown if this function is not supported

Reimplemented in Ocean::Rendering::GLESceneGraph::GLESBlendAttribute.

◆ sourceFunction()

virtual BlendingFunction Ocean::Rendering::BlendAttribute::sourceFunction ( ) const
virtual

Returns the blending function for the source object.

Returns
Blending function
Exceptions
NotSupportedExceptionIs thrown if this function is not supported

Reimplemented in Ocean::Rendering::GLESceneGraph::GLESBlendAttribute.

◆ type()

ObjectType Ocean::Rendering::BlendAttribute::type ( ) const
overridevirtual

Returns the type of this object.

See also
Object::type().

Reimplemented from Ocean::Rendering::Attribute.


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