Ocean
Ocean::Rendering::TextureFramebuffer Class Referenceabstract

This class is the base class for all textures based on a framebuffer. More...

Inheritance diagram for Ocean::Rendering::TextureFramebuffer:

Public Member Functions

virtual bool resize (const unsigned int width, const unsigned int height)=0
 Resizes the texture framebuffer. More...
 
virtual FrameType::PixelFormat pixelFormat () const =0
 Returns the texture framebuffer's internal pixel format. More...
 
virtual WrapType wrapTypeS () const
 Returns the texture wrap type in s direction. More...
 
virtual WrapType wrapTypeT () const
 Returns the texture wrap type in t direction. More...
 
virtual bool setPixelFormat (const FrameType::PixelFormat pixelFormat)=0
 Sets the texture framebuffer's internal pixel format. More...
 
virtual bool setWrapTypeS (const WrapType type)
 Sets the texture wrap type in s direction. More...
 
virtual bool setWrapTypeT (const WrapType type)
 Sets the texture wrap type in t direction. More...
 
virtual bool copyColorTextureToFrame (Frame &frame, const CV::PixelBoundingBox &subRegion=CV::PixelBoundingBox())
 Copies the image content of the color texture to a given frame. More...
 
virtual bool copyDepthTextureToFrame (Frame &frame, const CV::PixelBoundingBox &subRegion=CV::PixelBoundingBox())
 Copies the image content of the depth texture to a given frame. More...
 
ObjectType type () const override
 Returns the type of this object. More...
 
- Public Member Functions inherited from Ocean::Rendering::Texture
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...
 
- 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

 TextureFramebuffer ()=default
 Creates a new texture object. More...
 
 ~TextureFramebuffer () override
 Destructs a texture object. More...
 
- Protected Member Functions inherited from Ocean::Rendering::Texture
 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

- Public Types inherited from Ocean::Rendering::Texture
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...
 
- 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 based on a framebuffer.

Constructor & Destructor Documentation

◆ TextureFramebuffer()

Ocean::Rendering::TextureFramebuffer::TextureFramebuffer ( )
protecteddefault

Creates a new texture object.

◆ ~TextureFramebuffer()

Ocean::Rendering::TextureFramebuffer::~TextureFramebuffer ( )
overrideprotected

Destructs a texture object.

Member Function Documentation

◆ copyColorTextureToFrame()

virtual bool Ocean::Rendering::TextureFramebuffer::copyColorTextureToFrame ( Frame frame,
const CV::PixelBoundingBox subRegion = CV::PixelBoundingBox() 
)
virtual

Copies the image content of the color texture to a given frame.

Parameters
frameThe frame to which the color texture will be copied, the frame will be adjusted if the pixel format does match
subRegionOptional sub-region within the framebuffer to copy; an invalid bounding box to copy the entire framebuffer
Returns
True, if succeeded

Reimplemented in Ocean::Rendering::GLESceneGraph::GLESTextureFramebuffer.

◆ copyDepthTextureToFrame()

virtual bool Ocean::Rendering::TextureFramebuffer::copyDepthTextureToFrame ( Frame frame,
const CV::PixelBoundingBox subRegion = CV::PixelBoundingBox() 
)
virtual

Copies the image content of the depth texture to a given frame.

Parameters
frameThe frame to which the depth texture will be copied, the frame will be adjusted if the pixel format does match
subRegionOptional sub-region within the framebuffer to copy; an invalid bounding box to copy the entire framebuffer
Returns
True, if succeeded

Reimplemented in Ocean::Rendering::GLESceneGraph::GLESTextureFramebuffer.

◆ pixelFormat()

virtual FrameType::PixelFormat Ocean::Rendering::TextureFramebuffer::pixelFormat ( ) const
pure virtual

Returns the texture framebuffer's internal pixel format.

Returns
The pixel format of the texture framebuffer

Implemented in Ocean::Rendering::GLESceneGraph::GLESTextureFramebuffer.

◆ resize()

virtual bool Ocean::Rendering::TextureFramebuffer::resize ( const unsigned int  width,
const unsigned int  height 
)
pure virtual

Resizes the texture framebuffer.

Parameters
widthThe width of the framebuffer in pixel, with range [1, infinity)
heightThe height of the framebuffer in pixel, with range [1, infinity)

Implemented in Ocean::Rendering::GLESceneGraph::GLESTextureFramebuffer.

◆ setPixelFormat()

virtual bool Ocean::Rendering::TextureFramebuffer::setPixelFormat ( const FrameType::PixelFormat  pixelFormat)
pure virtual

Sets the texture framebuffer's internal pixel format.

Parameters
pixelFormatThe pixel format of the texture framebuffer
Returns
True, if succeeded

Implemented in Ocean::Rendering::GLESceneGraph::GLESTextureFramebuffer.

◆ setWrapTypeS()

virtual bool Ocean::Rendering::TextureFramebuffer::setWrapTypeS ( const WrapType  type)
virtual

Sets the texture wrap type in s direction.

Parameters
typeWrap type to set
Returns
True, if succeeded
Exceptions
NotSupportedExceptionIs thrown if this function is not supported
See also
wrapTypeS(), setWrapTypeT().

Reimplemented in Ocean::Rendering::GLESceneGraph::GLESTextureFramebuffer.

◆ setWrapTypeT()

virtual bool Ocean::Rendering::TextureFramebuffer::setWrapTypeT ( const WrapType  type)
virtual

Sets the texture wrap type in t direction.

Parameters
typeWrap type to set
Returns
True, if succeeded
Exceptions
NotSupportedExceptionIs thrown if this function is not supported
See also
wrapTypeT(), setWrapTypeS().

Reimplemented in Ocean::Rendering::GLESceneGraph::GLESTextureFramebuffer.

◆ type()

TextureFramebuffer::ObjectType Ocean::Rendering::TextureFramebuffer::type ( ) const
inlineoverridevirtual

Returns the type of this object.

See also
Object::type().

Reimplemented from Ocean::Rendering::Texture.

◆ wrapTypeS()

virtual WrapType Ocean::Rendering::TextureFramebuffer::wrapTypeS ( ) const
virtual

Returns the texture wrap type in s direction.

The default is WRAP_CLAMP.

Returns
Wrap type in s direction
Exceptions
NotSupportedExceptionIs thrown if this function is not supported
See also
setWrapTypeS(), wrapTypeT().

Reimplemented in Ocean::Rendering::GLESceneGraph::GLESTextureFramebuffer.

◆ wrapTypeT()

virtual WrapType Ocean::Rendering::TextureFramebuffer::wrapTypeT ( ) const
virtual

Returns the texture wrap type in t direction.

The default is WRAP_CLAMP.

Returns
Wrap type in t direction
Exceptions
NotSupportedExceptionIs thrown if this function is not supported
See also
setWrapTypeT(), wrapTypeS().

Reimplemented in Ocean::Rendering::GLESceneGraph::GLESTextureFramebuffer.


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