All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
Luminous::RenderBuffer Class Reference

This class represents an off-screen render target that is optimized for use as a render target. More...

#include <Luminous/FrameBuffer.hpp>

Inheritance diagram for Luminous::RenderBuffer:
Luminous::RenderResource

Public Member Functions

GLenum format () const
 Get the buffer format. More...
 
RenderBufferoperator= (RenderBuffer &rb)
 Copy the given RenderBuffer. More...
 
RenderBufferoperator= (RenderBuffer &&rb)
 Move the given RenderBuffer. More...
 
 RenderBuffer ()
 Construct a new RenderBuffer.
 
 RenderBuffer (RenderBuffer &rb)
 Construct a copy of the given RenderBuffer. More...
 
 RenderBuffer (RenderBuffer &&rb)
 Move constructor. More...
 
int samples () const
 Get the sample count of the buffer. More...
 
void setStorageFormat (const Nimble::Size &size, GLenum format, int samples)
 Set the data storage, format, dimensions and sample count of the RenderBuffer's buffer. More...
 
const Nimble::Sizesize () const
 Get the dimensions of the buffer. More...
 
 ~RenderBuffer ()
 Destructor.
 
- Public Member Functions inherited from Luminous::RenderResource
unsigned int expiration () const
 Returns resource expiration time. More...
 
int generation () const
 Returns generation of this resource. More...
 
void invalidate ()
 Invalidates correspondent GPU objects and forces uploading of data to GPU.
 
RenderResourceoperator= (RenderResource &&rr)
 Move assignment operator. More...
 
 RenderResource (Type type)
 Constructor of RenderResource. More...
 
 RenderResource (RenderResource &&rr)
 Move constructor. More...
 
Id resourceId () const
 Returns identifier of resource. More...
 
Type resourceType () const
 Returns type of the resource. More...
 
void setExpiration (unsigned int seconds)
 Set resource expiration time. More...
 
void setGeneration (int generation)
 Sets generation for this resource. More...
 
virtual ~RenderResource ()
 Destructor of RenderResource.
 

Additional Inherited Members

- Public Types inherited from Luminous::RenderResource
typedef uint64_t Id
 Id of a resource.
 
enum  Type {
  VertexArray, Buffer, Program, Texture,
  RenderBuffer, FrameBuffer
}
 Different types of render resources. More...
 
- Protected Member Functions inherited from Luminous::RenderResource
RenderResourceoperator= (const RenderResource &rr)
 Assignment operator. More...
 
 RenderResource (const RenderResource &rr)
 Copy constructor. More...
 

Detailed Description

This class represents an off-screen render target that is optimized for use as a render target.

This class should be used if you do not need to sample (e.g. use as a texture) your rendered image. GPU correspondent of this class is RenderBufferGL

Constructor & Destructor Documentation

Luminous::RenderBuffer::RenderBuffer ( RenderBuffer rb)

Construct a copy of the given RenderBuffer.

Parameters
rbbuffer to copy
Luminous::RenderBuffer::RenderBuffer ( RenderBuffer &&  rb)

Move constructor.

Parameters
rbbuffer to move

Member Function Documentation

GLenum Luminous::RenderBuffer::format ( ) const

Get the buffer format.

Returns
format of the buffer
RenderBuffer& Luminous::RenderBuffer::operator= ( RenderBuffer rb)

Copy the given RenderBuffer.

Parameters
rbbuffer to copy
RenderBuffer& Luminous::RenderBuffer::operator= ( RenderBuffer &&  rb)

Move the given RenderBuffer.

Parameters
rbbuffer to move
int Luminous::RenderBuffer::samples ( ) const

Get the sample count of the buffer.

Returns
buffer sample count
void Luminous::RenderBuffer::setStorageFormat ( const Nimble::Size size,
GLenum  format,
int  samples 
)

Set the data storage, format, dimensions and sample count of the RenderBuffer's buffer.

Parameters
sizedimensions of the buffer
formatdata format
samplesbuffer sample count
const Nimble::Size& Luminous::RenderBuffer::size ( ) const

Get the dimensions of the buffer.

Returns
dimensions of the buffer