Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Ogre::GLSupport Class Reference

#include <OgreGLSupport.h>

Inheritance diagram for Ogre::GLSupport:

Ogre::GLXGLSupport Ogre::GTKGLSupport Ogre::SDLGLSupport Ogre::Win32GLSupport List of all members.

Public Member Functions

 GLSupport ()
virtual ~GLSupport ()
virtual void addConfig ()=0
 Add any special config values to the system.
virtual void setConfigOption (const String &name, const String &value)
virtual String validateConfig ()=0
 Make sure all the extra options are valid.
virtual ConfigOptionMap & getConfigOptions (void)
virtual RenderWindow * createWindow (bool autoCreateWindow, GLRenderSystem *renderSystem, const String &windowTitle)=0
virtual RenderWindow * newWindow (const String &name, unsigned int width, unsigned int height, bool fullScreen, const NameValuePairList *miscParams=0)=0
 
Remarks:
This method creates a new rendering window as specified by the paramteters. The rendering system could be responible for only a single window (e.g. in the case of a game), or could be in charge of multiple ones (in the case of a level editor). The option to create the window as a child of another is therefore given. This method will create an appropriate subclass of RenderWindow depending on the API and platform implementation.
After creation, this window can be retrieved using getRenderTarget().
Parameters:
name The name of the window. Used in other methods later like setRenderTarget and getRenderWindow.
width The width of the new window.
height The height of the new window.
fullScreen Specify true to make the window full screen without borders, title bar or menu bar.
miscParams A NameValuePairList describing the other parameters for the new rendering window. Options are case sensitive. Unrecognised parameters will be ignored silently. These values might be platform dependent, but these are present for all platorms unless indicated otherwise:
Key: "title" Description: The title of the window that will appear in the title bar Values: string Default: RenderTarget name

Key: "colourDepth" Description: Colour depth of the resulting rendering window; only applies if fullScreen is set. Values: 16 or 32 Default: desktop depth Notes: [W32 specific]

Key: "left" Description: screen x coordinate from left Values: positive integers Default: 'center window on screen' Notes: Ignored in case of full screen

Key: "top" Description: screen y coordinate from top Values: positive integers Default: 'center window on screen' Notes: Ignored in case of full screen

Key: "depthBuffer" [DX9 specific] Description: Use depth buffer Values: false or true Default: true

Key: "externalWindowHandle" [API specific] Description: External window handle, for embedding the OGRE context Values: positive integer for W32 (HWND handle) poslong:posint:poslong (display*:screen:windowHandle) or poslong:posint:poslong:poslong (display*:screen:windowHandle:XVisualInfo*) for GLX Default: 0 (None)

Key: "parentWindowHandle" [API specific] Description: Parent window handle, for embedding the OGRE context Values: positive integer for W32 (HWND handle) poslong:posint:poslong for GLX (display*:screen:windowHandle) Default: 0 (None)

Key: "FSAA" Description: Full screen antialiasing factor Values: 0,2,4,6,... Default: 0

Key: "displayFrequency" Description: Display frequency rate, for fullscreen mode Values: 60...? Default: Desktop vsync rate

Key: "vsync" Description: Synchronize buffer swaps to vsync Values: true, false Default: 0

Key: "border" Description: The type of window border (in windowed mode) Values: none, fixed, resize Default: resize

Key: "outerDimensions" Description: Whether the width/height is expressed as the size of the outer window, rather than the content area Values: true, false Default: false

Key: "useNVPerfHUD" [DX9 specific] Description: Enable the use of nVidia NVPerfHUD Values: true, false Default: false

virtual bool supportsPBuffers ()
virtual GLPBuffer * createPBuffer (PixelComponentType format, size_t width, size_t height)
virtual void start ()=0
 Start anything special.
virtual void stop ()=0
 Stop anything special.
const String & getGLVendor (void) const
 get vendor information
const String & getGLVersion (void) const
 get version information
bool checkMinGLVersion (const String &v) const
 compare GL version numbers
virtual bool checkExtension (const String &ext) const
 Check if an extension is available.
virtual void * getProcAddress (const String &procname)=0
 Get the address of a function.
virtual void initialiseExtensions ()
 Intialises GL extensions, must be done AFTER the GL context has been established.

Protected Attributes

ConfigOptionMap mOptions
std::set< String > extensionList

Private Attributes

String mVersion
String mVendor

Constructor & Destructor Documentation

Ogre::GLSupport::GLSupport (   ) 
 

Definition at line 17 of file OgreGLSupport.h.

virtual Ogre::GLSupport::~GLSupport (   )  [virtual]
 

Definition at line 18 of file OgreGLSupport.h.


Member Function Documentation

virtual void Ogre::GLSupport::addConfig (   )  [pure virtual]
 

Add any special config values to the system.

Must have a "Full Screen" value that is a bool and a "Video Mode" value that is a string in the form of wxh

Implemented in Ogre::GLXGLSupport, Ogre::GTKGLSupport, Ogre::SDLGLSupport, and Ogre::Win32GLSupport.

virtual bool Ogre::GLSupport::checkExtension (  const String &  ext  )  const [virtual]
 

Check if an extension is available.

Reimplemented in Ogre::GTKGLSupport.

bool Ogre::GLSupport::checkMinGLVersion (  const String &  v  )  const
 

compare GL version numbers

Reimplemented in Ogre::GTKGLSupport.

virtual GLPBuffer* Ogre::GLSupport::createPBuffer (  PixelComponentType  format,
size_t  width,
size_t  height
)  [virtual]
 

Reimplemented in Ogre::GLXGLSupport, and Ogre::Win32GLSupport.

virtual RenderWindow* Ogre::GLSupport::createWindow (  bool  autoCreateWindow,
GLRenderSystem *  renderSystem,
const String &  windowTitle
)  [pure virtual]
 

Implemented in Ogre::GLXGLSupport, Ogre::GTKGLSupport, Ogre::SDLGLSupport, and Ogre::Win32GLSupport.

virtual ConfigOptionMap& Ogre::GLSupport::getConfigOptions (  void   )  [virtual]
 

const String& Ogre::GLSupport::getGLVendor (  void   )  const
 

get vendor information

Definition at line 58 of file OgreGLSupport.h.

References mVendor.

const String& Ogre::GLSupport::getGLVersion (  void   )  const
 

get version information

Definition at line 66 of file OgreGLSupport.h.

References mVersion.

virtual void* Ogre::GLSupport::getProcAddress (  const String &  procname  )  [pure virtual]
 

Get the address of a function.

Implemented in Ogre::GLXGLSupport, Ogre::GTKGLSupport, Ogre::SDLGLSupport, and Ogre::Win32GLSupport.

virtual void Ogre::GLSupport::initialiseExtensions (   )  [virtual]
 

Intialises GL extensions, must be done AFTER the GL context has been established.

Reimplemented in Ogre::GTKGLSupport, and Ogre::Win32GLSupport.

virtual RenderWindow* Ogre::GLSupport::newWindow (  const String &  name,
unsigned int  width,
unsigned int  height,
bool  fullScreen,
const NameValuePairList *  miscParams = 0
)  [pure virtual]
 

Remarks:
This method creates a new rendering window as specified by the paramteters. The rendering system could be responible for only a single window (e.g. in the case of a game), or could be in charge of multiple ones (in the case of a level editor). The option to create the window as a child of another is therefore given. This method will create an appropriate subclass of RenderWindow depending on the API and platform implementation.
After creation, this window can be retrieved using getRenderTarget().
Parameters:
name The name of the window. Used in other methods later like setRenderTarget and getRenderWindow.
width The width of the new window.
height The height of the new window.
fullScreen Specify true to make the window full screen without borders, title bar or menu bar.
miscParams A NameValuePairList describing the other parameters for the new rendering window. Options are case sensitive. Unrecognised parameters will be ignored silently. These values might be platform dependent, but these are present for all platorms unless indicated otherwise:
Key: "title" Description: The title of the window that will appear in the title bar Values: string Default: RenderTarget name

Key: "colourDepth" Description: Colour depth of the resulting rendering window; only applies if fullScreen is set. Values: 16 or 32 Default: desktop depth Notes: [W32 specific]

Key: "left" Description: screen x coordinate from left Values: positive integers Default: 'center window on screen' Notes: Ignored in case of full screen

Key: "top" Description: screen y coordinate from top Values: positive integers Default: 'center window on screen' Notes: Ignored in case of full screen

Key: "depthBuffer" [DX9 specific] Description: Use depth buffer Values: false or true Default: true

Key: "externalWindowHandle" [API specific] Description: External window handle, for embedding the OGRE context Values: positive integer for W32 (HWND handle) poslong:posint:poslong (display*:screen:windowHandle) or poslong:posint:poslong:poslong (display*:screen:windowHandle:XVisualInfo*) for GLX Default: 0 (None)

Key: "parentWindowHandle" [API specific] Description: Parent window handle, for embedding the OGRE context Values: positive integer for W32 (HWND handle) poslong:posint:poslong for GLX (display*:screen:windowHandle) Default: 0 (None)

Key: "FSAA" Description: Full screen antialiasing factor Values: 0,2,4,6,... Default: 0

Key: "displayFrequency" Description: Display frequency rate, for fullscreen mode Values: 60...? Default: Desktop vsync rate

Key: "vsync" Description: Synchronize buffer swaps to vsync Values: true, false Default: 0

Key: "border" Description: The type of window border (in windowed mode) Values: none, fixed, resize Default: resize

Key: "outerDimensions" Description: Whether the width/height is expressed as the size of the outer window, rather than the content area Values: true, false Default: false

Key: "useNVPerfHUD" [DX9 specific] Description: Enable the use of nVidia NVPerfHUD Values: true, false Default: false

Implemented in Ogre::GLXGLSupport, Ogre::SDLGLSupport, and Ogre::Win32GLSupport.

virtual void Ogre::GLSupport::setConfigOption (  const String &  name,
const String &  value
)  [virtual]
 

Reimplemented in Ogre::Win32GLSupport.

virtual void Ogre::GLSupport::start (   )  [pure virtual]
 

Start anything special.

Implemented in Ogre::GLXGLSupport, Ogre::GTKGLSupport, Ogre::SDLGLSupport, and Ogre::Win32GLSupport.

virtual void Ogre::GLSupport::stop (   )  [pure virtual]
 

Stop anything special.

Implemented in Ogre::GLXGLSupport, Ogre::GTKGLSupport, Ogre::SDLGLSupport, and Ogre::Win32GLSupport.

virtual bool Ogre::GLSupport::supportsPBuffers (   )  [virtual]
 

Reimplemented in Ogre::Win32GLSupport.

virtual String Ogre::GLSupport::validateConfig (   )  [pure virtual]
 

Make sure all the extra options are valid.

Returns:
string with error message

Implemented in Ogre::GLXGLSupport, Ogre::GTKGLSupport, Ogre::SDLGLSupport, and Ogre::Win32GLSupport.


Member Data Documentation

std::set<String> Ogre::GLSupport::extensionList [protected]
 

Definition at line 95 of file OgreGLSupport.h.

ConfigOptionMap Ogre::GLSupport::mOptions [protected]
 

Definition at line 92 of file OgreGLSupport.h.

String Ogre::GLSupport::mVendor [private]
 

Definition at line 98 of file OgreGLSupport.h.

Referenced by getGLVendor().

String Ogre::GLSupport::mVersion [private]
 

Definition at line 97 of file OgreGLSupport.h.

Referenced by getGLVersion().


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

Copyright © 2000-2005 by The OGRE Team
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Jan 21 10:11:51 2007