Ocean
Ocean::Rendering::Textures Class Reference

This class is the base class for all textures objects. More...

Inheritance diagram for Ocean::Rendering::Textures:

Public Types

typedef std::vector< TextureRefTextureObjects
 Definition of a vector holding textures. 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 TextureRef texture (const unsigned int layerIndex) const
 Returns the texture for a specified texture layer. More...
 
unsigned int numberTextures () const
 Returns the number of specified texture layers. More...
 
virtual void setTexture (const TextureRef &texture, const unsigned int layerIndex)
 Sets the texture for a specified texture layer. More...
 
virtual void addTexture (const TextureRef &texture)
 Adds a texture at the next free position of the texture layer. More...
 
virtual bool hasAlphaTexture () const
 Returns whether at least one texture has at least one alpha pixel. 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

 Textures ()
 Creates a new textures object. More...
 
 ~Textures () override
 Destructs a textures 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...
 

Protected Attributes

TextureObjects textures
 Vector holding texture objects. More...
 
- Protected Attributes inherited from Ocean::Rendering::Object
Lock objectLock
 Lock for the object. 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...
 

Detailed Description

This class is the base class for all textures objects.

Member Typedef Documentation

◆ TextureObjects

Definition of a vector holding textures.

Constructor & Destructor Documentation

◆ Textures()

Ocean::Rendering::Textures::Textures ( )
protected

Creates a new textures object.

◆ ~Textures()

Ocean::Rendering::Textures::~Textures ( )
overrideprotected

Destructs a textures object.

Member Function Documentation

◆ addTexture()

virtual void Ocean::Rendering::Textures::addTexture ( const TextureRef texture)
virtual

Adds a texture at the next free position of the texture layer.

Parameters
textureTexture to add

◆ hasAlphaTexture()

virtual bool Ocean::Rendering::Textures::hasAlphaTexture ( ) const
virtual

Returns whether at least one texture has at least one alpha pixel.

Returns
True, if so

◆ numberTextures()

unsigned int Ocean::Rendering::Textures::numberTextures ( ) const
inline

Returns the number of specified texture layers.

Returns
Number of texture layers

◆ setTexture()

virtual void Ocean::Rendering::Textures::setTexture ( const TextureRef texture,
const unsigned int  layerIndex 
)
virtual

Sets the texture for a specified texture layer.

Parameters
textureTexture for the defined texture layer
layerIndexIndex of the texture layer to set the texture attribute for

Reimplemented in Ocean::Rendering::GlobalIllumination::GITextures, and Ocean::Rendering::GLESceneGraph::GLESTextures.

◆ texture()

virtual TextureRef Ocean::Rendering::Textures::texture ( const unsigned int  layerIndex) const
virtual

Returns the texture for a specified texture layer.

Parameters
layerIndexIndex of the texture layer to return the texture for
Returns
Specified texture object

◆ type()

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

Returns the type of this object.

See also
Object::type().

Reimplemented from Ocean::Rendering::Attribute.

Field Documentation

◆ textures

TextureObjects Ocean::Rendering::Textures::textures
protected

Vector holding texture objects.


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