The Vish Visualization Shell 0.3
Vish
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
Wizt::VFrameBuffer Struct Reference

Encapsulation of a framebuffer, which is used to collect image rendering results. More...

#include <ocean/Anemonia/VFrameBuffer.hpp>

Classes

struct  Exception
 
struct  Grab
 Callback class for grabbing frames. More...
 
struct  MetaInfo
 Meta information available per frame. More...
 
struct  OffScreenRenderRequest
 
struct  OutputFormat
 Base class for image frame sequences. More...
 
struct  OutputFormatProvider
 Creator object for output formats. More...
 
class  Renderer
 Base class for a renderer that is able to provide some pixel data. More...
 
struct  RenderError
 

Public Types

enum  format { luminance = 0x01 , rgb = 0x02 , alpha = 0x04 , zbuffer = 0x08 , rgba = rgb | alpha , rgbz = rgb | zbuffer , rgbaz = rgb | alpha | zbuffer , linear_8bit_rgb = 0x10 }
 Format for framebuffer grabbing requests. More...
 
using Size = ImageTile::Size
 Local size class, used for tiles.
 

Public Member Functions

 VFrameBuffer (const RefPtr< Renderer > &R=NullPtr())
 Constructor, but default doesn't set a Renderer.
 
 VFrameBuffer (const VFrameBuffer &VFB)
 Copy Constructor.
 
 ~VFrameBuffer ()
 Destructor.
 

Public Attributes

RefPtr< RendererMyRenderer
 The Renderer used to manage this FrameBuffer.
 

Detailed Description

Encapsulation of a framebuffer, which is used to collect image rendering results.

Note that the framebuffer itself does not store any image information. Instead, it provides means to render an image and provide the results to somewhere else. The VFrameBuffer itself is nothing more than a pointer to a Renderer object that will do the actual work.

For instance, it may be used to directly pass image rendering to an OpenGL texture. It may also be used to implement interactive OpenGL viewers. It may moreover be used to implement software raytracing, nothing to do with OpenGL at all.

Currently, this class is still under investigation and major restructing will happen.

Member Enumeration Documentation

◆ format

Format for framebuffer grabbing requests.

Enumerator
luminance 

provide gray scale luminance values

rgb 

contains red,green,blue pixels

alpha 

contains alpha channel

zbuffer 

contain depth information