Ocean
Ocean::Rendering::Texture Class Referenceabstract

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

Inheritance diagram for Ocean::Rendering::Texture:

Public Types

enum  EnvironmentMode {
  MODE_INVALID , MODE_ADD , MODE_ADD_SIGNED , MODE_BLEND ,
  MODE_MODULATE , MODE_REPLACE , MODE_SUBTRACT
}
 Definition of possible texture environment modes. More...
 
enum  MinFilterMode {
  MIN_MODE_INVALID , MIN_MODE_LINEAR , MIN_MODE_NEAREST , MIN_MODE_NEAREST_MIPMAP_NEAREST ,
  MIN_MODE_LINEAR_MIPMAP_NEAREST , MIN_MODE_NEAREST_MIPMAP_LINEAR , MIN_MODE_LINEAR_MIPMAP_LINEAR
}
 Definition of possible minification filter modes. More...
 
enum  MagFilterMode { MAG_MODE_INVALID , MAG_MODE_LINEAR , MAG_MODE_NEAREST }
 Definition of possible magnification filter modes. More...
 
enum  WrapType { WRAP_INVALID , WRAP_CLAMP , WRAP_REPEAT }
 Definition of different texture wrapping types. 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 std::string textureName () const =0
 Returns the name of the texture e.g., in a shader. More...
 
virtual HomogenousMatrix4 transformation () const
 Returns the texture transformation matrix. More...
 
virtual EnvironmentMode environmentMode () const
 Returns the environment mode for this texture. More...
 
virtual MinFilterMode minificationFilterMode () const
 Returns the minification filter mode for this texture. More...
 
virtual MagFilterMode magnificationFilterMode () const
 Returns the magnification filter mode for this texture. More...
 
virtual bool usingMipmaps () const
 Returns whether mipmaps are used. More...
 
virtual bool adjustedToPowerOfTwo () const
 Returns whether the internal texture size has been extended to power-of-two dimensions to hand the reduced graphic power of the system. More...
 
virtual bool setTextureName (const std::string &name)=0
 Sets the name of the texture e.g., in a shader. More...
 
virtual void setTransformation (const HomogenousMatrix4 &transformation)
 Sets the texture transformation matrix. More...
 
virtual void setEnvironmentMode (const EnvironmentMode mode)
 Sets the environment mode for this texture. More...
 
virtual void setMinificationFilterMode (const MinFilterMode mode)
 Sets the minification filter mode for this texture. More...
 
virtual void setMagnificationFilterMode (const MagFilterMode mode)
 Sets the magnification filter mode for this texture. More...
 
virtual void setUseMipmaps (const bool flag)
 Specifies whether mipmaps will be used. More...
 
virtual bool isValid () const
 Returns whether the texture internally holds valid data. 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

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

Member Enumeration Documentation

◆ EnvironmentMode

Definition of possible texture environment modes.

Enumerator
MODE_INVALID 

Invalid texture environment mode.

MODE_ADD 
MODE_ADD_SIGNED 
MODE_BLEND 
MODE_MODULATE 
MODE_REPLACE 
MODE_SUBTRACT 

◆ MagFilterMode

Definition of possible magnification filter modes.


Magnification: A large screen area corresponds to a single texel.

Enumerator
MAG_MODE_INVALID 

Invalid magnification filter mode.

MAG_MODE_LINEAR 

Linear interpolation between neighboring texel.

MAG_MODE_NEAREST 

Chooses the nearest pixel.

◆ MinFilterMode

Definition of possible minification filter modes.


Minification: One screen pixel corresponds to a large area of texels.

Enumerator
MIN_MODE_INVALID 

Invalid minification filter mode.

MIN_MODE_LINEAR 

Linear interpolation between neighboring texel only in one texture layer.

MIN_MODE_NEAREST 

Chooses the nearest pixel only in one texture layer.

MIN_MODE_NEAREST_MIPMAP_NEAREST 

Chooses the nearest pixel in the nearest mipmap texture layer.

MIN_MODE_LINEAR_MIPMAP_NEAREST 

Linear interpolation between neighboring texel in the nearest mipmap texture layer.

MIN_MODE_NEAREST_MIPMAP_LINEAR 

Chooses the nearest pixel and interpolates between neighboring mipmap texture layers.

MIN_MODE_LINEAR_MIPMAP_LINEAR 

Linear interpolation between neighboring texel between neighboring mipmap texture layers.

◆ WrapType

Definition of different texture wrapping types.

Enumerator
WRAP_INVALID 

Invalid wrap mode.

WRAP_CLAMP 

The texture will be clamped at the border.

WRAP_REPEAT 

The texture will be repeated at the border.

Constructor & Destructor Documentation

◆ Texture()

Ocean::Rendering::Texture::Texture ( )
protected

Creates a new texture object.

◆ ~Texture()

Ocean::Rendering::Texture::~Texture ( )
overrideprotected

Destructs a texture object.

Member Function Documentation

◆ adjustedToPowerOfTwo()

virtual bool Ocean::Rendering::Texture::adjustedToPowerOfTwo ( ) const
virtual

Returns whether the internal texture size has been extended to power-of-two dimensions to hand the reduced graphic power of the system.

Systems not providing the necessary graphic extensions to support non-power-of-two textures will use power-of-two textures automatically. Therefore, the texture transformation cannot be used on systems with reduced graphic power.

Returns
True, if so
See also
imageTextureRatio().

◆ environmentMode()

virtual EnvironmentMode Ocean::Rendering::Texture::environmentMode ( ) const
virtual

Returns the environment mode for this texture.

Returns
Environment mode
Exceptions
NotSupportedExceptionIs thrown if this function is not supported

Reimplemented in Ocean::Rendering::GlobalIllumination::GITexture, and Ocean::Rendering::GLESceneGraph::GLESTexture.

◆ isValid()

virtual bool Ocean::Rendering::Texture::isValid ( ) const
virtual

◆ magnificationFilterMode()

virtual MagFilterMode Ocean::Rendering::Texture::magnificationFilterMode ( ) const
virtual

Returns the magnification filter mode for this texture.

Returns
Magnification mode
Exceptions
NotSupportedExceptionIs thrown if this function is not supported

Reimplemented in Ocean::Rendering::GlobalIllumination::GITexture, and Ocean::Rendering::GLESceneGraph::GLESTexture.

◆ minificationFilterMode()

virtual MinFilterMode Ocean::Rendering::Texture::minificationFilterMode ( ) const
virtual

Returns the minification filter mode for this texture.

Returns
Minification mode
Exceptions
NotSupportedExceptionIs thrown if this function is not supported

Reimplemented in Ocean::Rendering::GlobalIllumination::GITexture, and Ocean::Rendering::GLESceneGraph::GLESTexture.

◆ setEnvironmentMode()

virtual void Ocean::Rendering::Texture::setEnvironmentMode ( const EnvironmentMode  mode)
virtual

Sets the environment mode for this texture.

Parameters
modeNew environment mode to set
Exceptions
NotSupportedExceptionIs thrown if this function is not supported

Reimplemented in Ocean::Rendering::GlobalIllumination::GITexture, and Ocean::Rendering::GLESceneGraph::GLESTexture.

◆ setMagnificationFilterMode()

virtual void Ocean::Rendering::Texture::setMagnificationFilterMode ( const MagFilterMode  mode)
virtual

Sets the magnification filter mode for this texture.

Parameters
modeNew magnification filter mode to set
Exceptions
NotSupportedExceptionIs thrown if this function is not supported

Reimplemented in Ocean::Rendering::GlobalIllumination::GITexture, and Ocean::Rendering::GLESceneGraph::GLESTexture.

◆ setMinificationFilterMode()

virtual void Ocean::Rendering::Texture::setMinificationFilterMode ( const MinFilterMode  mode)
virtual

Sets the minification filter mode for this texture.

Parameters
modeNew minification filter mode to set
Exceptions
NotSupportedExceptionIs thrown if this function is not supported

Reimplemented in Ocean::Rendering::GlobalIllumination::GITexture, and Ocean::Rendering::GLESceneGraph::GLESTexture.

◆ setTextureName()

virtual bool Ocean::Rendering::Texture::setTextureName ( const std::string &  name)
pure virtual

Sets the name of the texture e.g., in a shader.

Parameters
nameThe texture's name
Returns
True, if succeeded

Implemented in Ocean::Rendering::GlobalIllumination::GITexture, Ocean::Rendering::GLESceneGraph::GLESTextureFramebuffer, Ocean::Rendering::GLESceneGraph::GLESMediaTexture2D, and Ocean::Rendering::GLESceneGraph::GLESFrameTexture2D.

◆ setTransformation()

virtual void Ocean::Rendering::Texture::setTransformation ( const HomogenousMatrix4 transformation)
virtual

Sets the texture transformation matrix.

Parameters
transformationMatrix transforming the corresponding texture
Exceptions
NotSupportedExceptionIs thrown if this function is not supported

Reimplemented in Ocean::Rendering::GlobalIllumination::GITexture, and Ocean::Rendering::GLESceneGraph::GLESTexture.

◆ setUseMipmaps()

virtual void Ocean::Rendering::Texture::setUseMipmaps ( const bool  flag)
virtual

Specifies whether mipmaps will be used.

Parameters
flagTrue, to use mipmaps; False, to avoid mipmaps

Reimplemented in Ocean::Rendering::GLESceneGraph::GLESTexture.

◆ textureName()

virtual std::string Ocean::Rendering::Texture::textureName ( ) const
pure virtual

◆ transformation()

virtual HomogenousMatrix4 Ocean::Rendering::Texture::transformation ( ) const
virtual

Returns the texture transformation matrix.

Returns
Matrix transforming the corresponding texture
Exceptions
NotSupportedExceptionIs thrown if this function is not supported

Reimplemented in Ocean::Rendering::GlobalIllumination::GITexture, and Ocean::Rendering::GLESceneGraph::GLESTexture.

◆ type()

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

Returns the type of this object.

See also
Object::type().

Reimplemented from Ocean::Rendering::Object.

Reimplemented in Ocean::Rendering::TextureFramebuffer, and Ocean::Rendering::Texture2D.

◆ usingMipmaps()

virtual bool Ocean::Rendering::Texture::usingMipmaps ( ) const
virtual

Returns whether mipmaps are used.

Returns
True, if so

Reimplemented in Ocean::Rendering::GLESceneGraph::GLESTexture.


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