Ocean
Ocean::Rendering::DepthAttribute Class Reference

This class implements a depth attribute specifying the depth buffer behavior for associated objects. More...

Inheritance diagram for Ocean::Rendering::DepthAttribute:

Public Types

enum  DepthFunction {
  FUNCTION_ALWAYS , FUNCTION_EQUAL , FUNCTION_GREATER , FUNCTION_GREATER_EQUAL ,
  FUNCTION_LESS , FUNCTION_LESS_EQUAL , FUNCTION_NEVER , FUNCTION_NOT_EQUAL
}
 Definition of different depth comparison 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 bool testingEnabled () const
 Returns whether the depth buffer is used for occlusion tests. More...
 
virtual bool writingEnabled () const
 Returns whether the depth buffer writing is enabled. More...
 
virtual DepthFunction depthFunction () const
 Returns the depth function of this attribute. More...
 
virtual void setTestingEnabled (const bool state)
 Sets whether the depth buffer is used for occlusion tests. More...
 
virtual void setWritingEnabled (const bool state)
 Sets whether the depth buffer is writable. More...
 
virtual void setDepthFunction (const DepthFunction function)
 Sets the depth function of this attribute. 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

 DepthAttribute ()
 Creates a new depth attribute object. 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 implements a depth attribute specifying the depth buffer behavior for associated objects.

Member Enumeration Documentation

◆ DepthFunction

Definition of different depth comparison functions.

Enumerator
FUNCTION_ALWAYS 

Always accepted.

FUNCTION_EQUAL 

Accepted if the incomming depth value is equal to the stored one.

FUNCTION_GREATER 

Accepted if the incomming depth value is greater than the stored one.

FUNCTION_GREATER_EQUAL 

Accepted if the incomming depth value is greater than or equal to the stored one.

FUNCTION_LESS 

Accepted if the incomming depth value is less than the stored one.

FUNCTION_LESS_EQUAL 

Accepted if the incomming depth value is less than or equal to the stored one.

FUNCTION_NEVER 

Never accepted.

FUNCTION_NOT_EQUAL 

Accepted if the incomming depth value is not equal to the stored one.

Constructor & Destructor Documentation

◆ DepthAttribute()

Ocean::Rendering::DepthAttribute::DepthAttribute ( )
protected

Creates a new depth attribute object.

Member Function Documentation

◆ depthFunction()

virtual DepthFunction Ocean::Rendering::DepthAttribute::depthFunction ( ) const
virtual

Returns the depth function of this attribute.

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

Reimplemented in Ocean::Rendering::GLESceneGraph::GLESDepthAttribute.

◆ setDepthFunction()

virtual void Ocean::Rendering::DepthAttribute::setDepthFunction ( const DepthFunction  function)
virtual

Sets the depth function of this attribute.

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

Reimplemented in Ocean::Rendering::GLESceneGraph::GLESDepthAttribute.

◆ setTestingEnabled()

virtual void Ocean::Rendering::DepthAttribute::setTestingEnabled ( const bool  state)
virtual

Sets whether the depth buffer is used for occlusion tests.

Parameters
stateDepth buffer enable state
Exceptions
NotSupportedExceptionIs thrown if this function is not supported

Reimplemented in Ocean::Rendering::GLESceneGraph::GLESDepthAttribute.

◆ setWritingEnabled()

virtual void Ocean::Rendering::DepthAttribute::setWritingEnabled ( const bool  state)
virtual

Sets whether the depth buffer is writable.

Parameters
stateDepth buffer writable state
Exceptions
NotSupportedExceptionIs thrown if this function is not supported

Reimplemented in Ocean::Rendering::GLESceneGraph::GLESDepthAttribute.

◆ testingEnabled()

virtual bool Ocean::Rendering::DepthAttribute::testingEnabled ( ) const
virtual

Returns whether the depth buffer is used for occlusion tests.

Returns
True, if so
Exceptions
NotSupportedExceptionIs thrown if this function is not supported

Reimplemented in Ocean::Rendering::GLESceneGraph::GLESDepthAttribute.

◆ type()

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

Returns the type of this object.

See also
Object::type().

Reimplemented from Ocean::Rendering::Attribute.

◆ writingEnabled()

virtual bool Ocean::Rendering::DepthAttribute::writingEnabled ( ) const
virtual

Returns whether the depth buffer writing is enabled.

Returns
True, if so
Exceptions
NotSupportedExceptionIs thrown if this function is not supported

Reimplemented in Ocean::Rendering::GLESceneGraph::GLESDepthAttribute.


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