Basic Image AlgorithmS Library  2.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
BIAS::glfRenderingContext_GLX Class Referenceabstract

Base class for GLX rendering contexts. More...

#include <OpenGLFramework/RenderingContext/glfRenderingContext_GLX.hh>

+ Inheritance diagram for BIAS::glfRenderingContext_GLX:
+ Collaboration diagram for BIAS::glfRenderingContext_GLX:

Public Types

enum  GrabSource { GRAB_COLOR, GRAB_DEPTH, GRAB_STENCIL }
 Frame buffer data that can be retrieved by Grab. More...
 

Public Member Functions

virtual void Destroy ()
 Uninitializes the rendering context. More...
 
virtual void DoneCurrent ()
 Removes the current state of this context. More...
 
virtual void GetConfig (glfRenderingContextConfig &config)
 Gets the currently used config of the rendering context. More...
 
 glfRenderingContext_GLX ()
 
void Grab (BIAS::Image< unsigned char > &image, GrabSource source=GRAB_COLOR, int x=0, int y=0, int width=0, int height=0)
 Copies the contents of the framebuffer to an image. More...
 
virtual void Init (const glfRenderingContextConfig &config)
 Initializes the rendering context with the given configuration. More...
 
virtual void MakeCurrent ()
 Makes this context the current target for OpenGL calls. More...
 
 ~glfRenderingContext_GLX ()
 

Protected Member Functions

virtual GLXDrawable CreateDrawable (int width, int height, GLXFBConfig fbConfig)=0
 
virtual void DestroyDrawable ()=0
 
virtual int GetDrawableType () const =0
 
void InitGlew ()
 Initializes GLEW if enabled in the BIAS configuration. More...
 

Protected Attributes

GLXContext context_
 
Display * display_
 
GLXDrawable drawable_
 

Detailed Description

Base class for GLX rendering contexts.

Author
05/2007 jkollmann

Definition at line 40 of file glfRenderingContext_GLX.hh.

Member Enumeration Documentation

Frame buffer data that can be retrieved by Grab.

Enumerator
GRAB_COLOR 

Grab RGB image.

GRAB_DEPTH 

Grab depth buffer.

GRAB_STENCIL 

Grab stencil buffer.

Definition at line 102 of file glfRenderingContext.hh.

Constructor & Destructor Documentation

glfRenderingContext_GLX::glfRenderingContext_GLX ( )

Definition at line 31 of file glfRenderingContext_GLX.cpp.

glfRenderingContext_GLX::~glfRenderingContext_GLX ( )

Definition at line 38 of file glfRenderingContext_GLX.cpp.

Member Function Documentation

virtual GLXDrawable BIAS::glfRenderingContext_GLX::CreateDrawable ( int  width,
int  height,
GLXFBConfig  fbConfig 
)
protectedpure virtual

Implemented in BIAS::glfPBuffer_GLX.

void glfRenderingContext_GLX::Destroy ( )
virtual

Uninitializes the rendering context.

This method must be called before the application quits and after all Open GL resources (textures etc.) have been deleted.

Implements BIAS::glfRenderingContext.

Examples:
ExampleMultipleDepthWarp.cpp, ExampleMultisampleBlit.cpp, ExamplePlainPerPixelProcessing.cpp, ExampleStencilBuffer.cpp, and ExampleTemplateSpecializedBatch.cpp.

Definition at line 141 of file glfRenderingContext_GLX.cpp.

virtual void BIAS::glfRenderingContext_GLX::DestroyDrawable ( )
protectedpure virtual

Implemented in BIAS::glfPBuffer_GLX.

void glfRenderingContext_GLX::DoneCurrent ( )
virtual

Removes the current state of this context.

Must be called before MakeCurrent is called from another thread.

Reimplemented from BIAS::glfRenderingContext.

Definition at line 168 of file glfRenderingContext_GLX.cpp.

void glfRenderingContext_GLX::GetConfig ( glfRenderingContextConfig config)
virtual
virtual int BIAS::glfRenderingContext_GLX::GetDrawableType ( ) const
protectedpure virtual

Implemented in BIAS::glfPBuffer_GLX.

void glfRenderingContext::Grab ( BIAS::Image< unsigned char > &  image,
GrabSource  source = GRAB_COLOR,
int  x = 0,
int  y = 0,
int  width = 0,
int  height = 0 
)
inherited

Copies the contents of the framebuffer to an image.

This method calls MakeCurrent on this rendering context.

Examples:
ExampleRenderingContext.cpp.

Definition at line 58 of file glfRenderingContext.cpp.

References BIAS::Image< StorageType >::GetImageData(), BIAS::glfRenderingContextConfig::height, BIAS::Image< StorageType >::Init(), BIAS::ImageBase::IsEmpty(), BIAS::Image< StorageType >::Release(), and BIAS::glfRenderingContextConfig::width.

void glfRenderingContext_GLX::Init ( const glfRenderingContextConfig config)
virtual
void glfRenderingContext::InitGlew ( )
protectedinherited

Initializes GLEW if enabled in the BIAS configuration.

If not, this method does nothing. Should be called during Init by every glfRenderingContext implementation.

Definition at line 117 of file glfRenderingContext.cpp.

References BIAS::Singleton< GlewInitWrapper >::GetInstance(), and BIAS::GlewInitWrapper::Init().

void glfRenderingContext_GLX::MakeCurrent ( )
virtual

Makes this context the current target for OpenGL calls.

Must be called when switching between multiple rendering contexts.

Implements BIAS::glfRenderingContext.

Examples:
ExampleMultisampleBlit.cpp.

Definition at line 159 of file glfRenderingContext_GLX.cpp.

Referenced by BIAS::ContextPBuffer::MakeGLContextCurrent().

Member Data Documentation

GLXContext BIAS::glfRenderingContext_GLX::context_
protected

Definition at line 58 of file glfRenderingContext_GLX.hh.

Display* BIAS::glfRenderingContext_GLX::display_
protected
GLXDrawable BIAS::glfRenderingContext_GLX::drawable_
protected

Definition at line 57 of file glfRenderingContext_GLX.hh.


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