Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

OpenGLExtensions Class Reference

Manages the use of OpenGL extensions, provides queries, OS-specific function pointer setup, and some OpenGL state management. More...

#include <OpenGLExtensions.h>

List of all members.

Public Types

enum  rendenum {
  SUNZULU, SUNFFB3, SUNELITE3D, SUNEXPERT3D,
  ATI, NVIDIA, SGIIR, MSOFTGDI,
  MESAGL, WIREGL, GENERIC
}

Public Methods

 void (APIENTRY *p_glLockArraysEXT)(GLint
 void (APIENTRY *p_glUnlockArraysEXT)(void)
 void (APIENTRY *p_glMultiDrawElementsEXT)(GLenum
 void (APIENTRY *p_glGlobalAlphaFactorfSUN)(GLfloat)
 void (APIENTRY *p_glPointParameterfARB)(GLenum
 void (APIENTRY *p_glPointParameterfvARB)(GLenum
 void (APIENTRY *p_glTexImage3D)(GLenum
 OpenGLExtensions (void)
virtual ~OpenGLExtensions (void)
void find_renderer (void)
 identify OpenGL accelerator/vendor. More...

void find_extensions (void)
 initialize OpenGL extension state. More...

int vmdQueryExtension (const char *extname)
 query OpenGL extension. More...

void vmdQueryGLVersion (int *major, int *minor, int *release)
 query OpenGL version. More...

VMDGLXextFuncPtr vmdGetProcAddress (const char *)
 get extension proc addr. More...

void PrintExtensions (void)
 print out OpenGL extensions. More...


Public Attributes

int hasstereo
 whether we have stereo capable buffer. More...

int stereodrawforced
 must always draw in stereo, buggy driver. More...

int hasmultisample
 whether we have multisample extension. More...

int nummultisamples
 number of multisample samples available. More...

int hasstencilbuffer
 whether display has a stencil buffer. More...

int hastex2d
 whether renderer supports 2-D texturing. More...

int hastex3d
 whether renderer supports 3-D texturing. More...

int hasmultidrawext
 ARB/Sun GL_EXT_multi_draw. More...

int hascompiledvertexarrayext
 ARB GL_EXT_compiled_vertex_array. More...

int hasrescalenormalext
 ARB GL_RESCALE_NORMAL_EXT. More...

GLint multitextureunits
 number of multitexture texture units. More...

int hasglarbtexnonpoweroftwo
 OpenGL non-power-of-two texture ARB ext. More...

int hasmesharraysun
 glDrawMeshArraysSUN. More...

int hasglreadvideopixelssun
 glReadVideoPixelsSUN. More...

int hasglvideoresizesun
 glVideoResizeSUN. More...

int hasglobalalphasun
 glGlobalAlphaSUN. More...

int hasglpointparametersext
 glPointParameterfvARB. More...

int hasglshadinglangarb
 OpenGL Shading Language ARB extension. More...

int hasglshaderobjectsarb
 OpenGL Shader Objects ARB extension. More...

int hasglvertexshaderarb
 OpenGL Vertex Shader ARB extension. More...

int hasglfragmentshaderarb
 OpenGL Fragment Shader ARB extension. More...

int hasglpointspritearb
 OpenGL point sprite ARB extension. More...

 GLsizei
const GLsizei GLenum
const GLsizei const GLvoid GLsizei
 GLfloat
 GLint
 GLenum
int oglmajor
 major version of OpenGL renderer. More...

int oglminor
 minor version of OpenGL renderer. More...

int oglrelease
 release of OpenGL renderer. More...

rendenum oglrenderer
 OpenGL renderer ID tag for important boards. More...


Detailed Description

Manages the use of OpenGL extensions, provides queries, OS-specific function pointer setup, and some OpenGL state management.

Definition at line 144 of file OpenGLExtensions.h.


Member Enumeration Documentation

enum OpenGLExtensions::rendenum
 

Enumeration values:
SUNZULU 
SUNFFB3 
SUNELITE3D 
SUNEXPERT3D 
ATI 
NVIDIA 
SGIIR 
MSOFTGDI 
MESAGL 
WIREGL 
GENERIC 

Definition at line 206 of file OpenGLExtensions.h.


Constructor & Destructor Documentation

OpenGLExtensions::OpenGLExtensions void   
 

Definition at line 42 of file OpenGLExtensions.C.

References hascompiledvertexarrayext, hasglarbtexnonpoweroftwo, hasglfragmentshaderarb, hasglobalalphasun, hasglpointparametersext, hasglpointspritearb, hasglreadvideopixelssun, hasglshaderobjectsarb, hasglshadinglangarb, hasglvertexshaderarb, hasglvideoresizesun, hasmesharraysun, hasmultidrawext, hasrescalenormalext, hasstencilbuffer, hastex2d, hastex3d, and multitextureunits.

OpenGLExtensions::~OpenGLExtensions void    [virtual]
 

Definition at line 65 of file OpenGLExtensions.C.


Member Function Documentation

void OpenGLExtensions::find_extensions void   
 

initialize OpenGL extension state.

Definition at line 278 of file OpenGLExtensions.C.

References find_renderer, GLenum, GLfloat, GLint, GLsizei, hascompiledvertexarrayext, hasglarbtexnonpoweroftwo, hasglfragmentshaderarb, hasglobalalphasun, hasglpointparametersext, hasglpointspritearb, hasglreadvideopixelssun, hasglshaderobjectsarb, hasglshadinglangarb, hasglvertexshaderarb, hasmesharraysun, hasmultidrawext, hasstencilbuffer, hastex2d, hastex3d, multitextureunits, NULL, oglmajor, oglminor, oglrelease, vmdGetProcAddress, vmdQueryExtension, vmdQueryGLVersion, and void.

Referenced by OpenGLRenderer::setup_initial_opengl_state.

void OpenGLExtensions::find_renderer void   
 

identify OpenGL accelerator/vendor.

Definition at line 240 of file OpenGLExtensions.C.

References ATI, GENERIC, MESAGL, MSOFTGDI, NULL, NVIDIA, oglrenderer, SGIIR, SUNELITE3D, SUNEXPERT3D, SUNFFB3, SUNZULU, and WIREGL.

Referenced by find_extensions, and OpenGLRenderer::setup_initial_opengl_state.

void OpenGLExtensions::PrintExtensions void   
 

print out OpenGL extensions.

Definition at line 506 of file OpenGLExtensions.C.

References multitextureunits, and nummultisamples.

Referenced by OpenGLRenderer::setup_initial_opengl_state.

VMDGLXextFuncPtr OpenGLExtensions::vmdGetProcAddress const char *   
 

get extension proc addr.

Definition at line 98 of file OpenGLExtensions.C.

References NULL, and VMDGLXextFuncPtr.

Referenced by find_extensions.

int OpenGLExtensions::vmdQueryExtension const char *    extname
 

query OpenGL extension.

Definition at line 68 of file OpenGLExtensions.C.

References NULL.

Referenced by find_extensions, OpenGLDisplayDevice::open_window, and OpenGLRenderer::setup_initial_opengl_state.

void OpenGLExtensions::vmdQueryGLVersion int   major,
int   minor,
int   release
 

query OpenGL version.

Definition at line 183 of file OpenGLExtensions.C.

References NULL.

Referenced by find_extensions.

OpenGLExtensions::void APIENTRY *    p_glTexImage3D
 

OpenGLExtensions::void APIENTRY *    p_glPointParameterfvARB
 

OpenGLExtensions::void APIENTRY *    p_glPointParameterfARB
 

OpenGLExtensions::void APIENTRY *    p_glGlobalAlphaFactorfSUN
 

OpenGLExtensions::void APIENTRY *    p_glMultiDrawElementsEXT
 

OpenGLExtensions::void APIENTRY *    p_glUnlockArraysEXT
 

OpenGLExtensions::void APIENTRY *    p_glLockArraysEXT
 

Referenced by find_extensions.


Member Data Documentation

OpenGLExtensions::GLenum
 

Definition at line 177 of file OpenGLExtensions.h.

const GLsizei OpenGLExtensions::GLenum
 

Definition at line 173 of file OpenGLExtensions.h.

Referenced by find_extensions.

OpenGLExtensions::GLfloat
 

Definition at line 175 of file OpenGLExtensions.h.

Referenced by find_extensions.

OpenGLExtensions::GLint
 

Definition at line 177 of file OpenGLExtensions.h.

Referenced by find_extensions.

const GLsizei const GLvoid OpenGLExtensions::GLsizei
 

Definition at line 173 of file OpenGLExtensions.h.

OpenGLExtensions::GLsizei
 

Definition at line 177 of file OpenGLExtensions.h.

Referenced by find_extensions.

int OpenGLExtensions::hascompiledvertexarrayext
 

ARB GL_EXT_compiled_vertex_array.

Definition at line 155 of file OpenGLExtensions.h.

Referenced by find_extensions, OpenGLExtensions, and OpenGLRenderer::render.

int OpenGLExtensions::hasglarbtexnonpoweroftwo
 

OpenGL non-power-of-two texture ARB ext.

Definition at line 158 of file OpenGLExtensions.h.

Referenced by find_extensions, and OpenGLExtensions.

int OpenGLExtensions::hasglfragmentshaderarb
 

OpenGL Fragment Shader ARB extension.

Definition at line 167 of file OpenGLExtensions.h.

Referenced by find_extensions, OpenGLExtensions, and OpenGLRenderer::setup_initial_opengl_state.

int OpenGLExtensions::hasglobalalphasun
 

glGlobalAlphaSUN.

Definition at line 162 of file OpenGLExtensions.h.

Referenced by OpenGLRenderer::draw_background_gradient, find_extensions, OpenGLExtensions, OpenGLRenderer::render, and OpenGLRenderer::set_render_mode.

int OpenGLExtensions::hasglpointparametersext
 

glPointParameterfvARB.

Definition at line 163 of file OpenGLExtensions.h.

Referenced by find_extensions, OpenGLExtensions, and OpenGLRenderer::render.

int OpenGLExtensions::hasglpointspritearb
 

OpenGL point sprite ARB extension.

Definition at line 168 of file OpenGLExtensions.h.

Referenced by find_extensions, and OpenGLExtensions.

int OpenGLExtensions::hasglreadvideopixelssun
 

glReadVideoPixelsSUN.

Definition at line 160 of file OpenGLExtensions.h.

Referenced by find_extensions, OpenGLExtensions, and OpenGLDisplayDevice::readpixels.

int OpenGLExtensions::hasglshaderobjectsarb
 

OpenGL Shader Objects ARB extension.

Definition at line 165 of file OpenGLExtensions.h.

Referenced by find_extensions, OpenGLExtensions, and OpenGLRenderer::setup_initial_opengl_state.

int OpenGLExtensions::hasglshadinglangarb
 

OpenGL Shading Language ARB extension.

Definition at line 164 of file OpenGLExtensions.h.

Referenced by find_extensions, OpenGLExtensions, and OpenGLRenderer::setup_initial_opengl_state.

int OpenGLExtensions::hasglvertexshaderarb
 

OpenGL Vertex Shader ARB extension.

Definition at line 166 of file OpenGLExtensions.h.

Referenced by find_extensions, OpenGLExtensions, and OpenGLRenderer::setup_initial_opengl_state.

int OpenGLExtensions::hasglvideoresizesun
 

glVideoResizeSUN.

Definition at line 161 of file OpenGLExtensions.h.

Referenced by OpenGLDisplayDevice::open_window, and OpenGLExtensions.

int OpenGLExtensions::hasmesharraysun
 

glDrawMeshArraysSUN.

Definition at line 159 of file OpenGLExtensions.h.

Referenced by find_extensions, and OpenGLExtensions.

int OpenGLExtensions::hasmultidrawext
 

ARB/Sun GL_EXT_multi_draw.

Definition at line 154 of file OpenGLExtensions.h.

Referenced by find_extensions, OpenGLExtensions, and OpenGLRenderer::render.

int OpenGLExtensions::hasmultisample
 

whether we have multisample extension.

Definition at line 149 of file OpenGLExtensions.h.

Referenced by OpenGLRenderer::aa_off, OpenGLRenderer::aa_on, FltkOpenGLDisplayDevice::FltkOpenGLDisplayDevice, OpenGLDisplayDevice::init, and OpenGLDisplayDevice::open_window.

int OpenGLExtensions::hasrescalenormalext
 

ARB GL_RESCALE_NORMAL_EXT.

Definition at line 156 of file OpenGLExtensions.h.

Referenced by OpenGLExtensions, and OpenGLRenderer::setup_initial_opengl_state.

int OpenGLExtensions::hasstencilbuffer
 

whether display has a stencil buffer.

Definition at line 151 of file OpenGLExtensions.h.

Referenced by OpenGLRenderer::enable_stencil_stereo, find_extensions, and OpenGLExtensions.

int OpenGLExtensions::hasstereo
 

whether we have stereo capable buffer.

Definition at line 147 of file OpenGLExtensions.h.

Referenced by OpenGLRenderer::clear, FltkOpenGLDisplayDevice::FltkOpenGLDisplayDevice, OpenGLRenderer::left, OpenGLDisplayDevice::open_window, OpenGLRenderer::right, and OpenGLRenderer::setup_initial_opengl_state.

int OpenGLExtensions::hastex2d
 

whether renderer supports 2-D texturing.

Definition at line 152 of file OpenGLExtensions.h.

Referenced by find_extensions, OpenGLExtensions, and OpenGLRenderer::setup_initial_opengl_state.

int OpenGLExtensions::hastex3d
 

whether renderer supports 3-D texturing.

Definition at line 153 of file OpenGLExtensions.h.

Referenced by OpenGLRenderer::build3Dmipmaps, find_extensions, OpenGLExtensions, OpenGLRenderer::render, OpenGLRenderer::require_volume_texture, and OpenGLRenderer::setup_initial_opengl_state.

GLint OpenGLExtensions::multitextureunits
 

number of multitexture texture units.

Definition at line 157 of file OpenGLExtensions.h.

Referenced by find_extensions, OpenGLExtensions, PrintExtensions, and OpenGLRenderer::setup_initial_opengl_state.

int OpenGLExtensions::nummultisamples
 

number of multisample samples available.

Definition at line 150 of file OpenGLExtensions.h.

Referenced by OpenGLDisplayDevice::open_window, and PrintExtensions.

int OpenGLExtensions::oglmajor
 

major version of OpenGL renderer.

Definition at line 210 of file OpenGLExtensions.h.

Referenced by find_extensions, and OpenGLRenderer::setup_initial_opengl_state.

int OpenGLExtensions::oglminor
 

minor version of OpenGL renderer.

Definition at line 211 of file OpenGLExtensions.h.

Referenced by find_extensions, and OpenGLRenderer::setup_initial_opengl_state.

int OpenGLExtensions::oglrelease
 

release of OpenGL renderer.

Definition at line 212 of file OpenGLExtensions.h.

Referenced by find_extensions.

rendenum OpenGLExtensions::oglrenderer
 

OpenGL renderer ID tag for important boards.

Definition at line 213 of file OpenGLExtensions.h.

Referenced by find_renderer, OpenGLRenderer::render, and OpenGLRenderer::setup_initial_opengl_state.

int OpenGLExtensions::stereodrawforced
 

must always draw in stereo, buggy driver.

Definition at line 148 of file OpenGLExtensions.h.

Referenced by OpenGLRenderer::clear, FltkOpenGLDisplayDevice::FltkOpenGLDisplayDevice, OpenGLRenderer::forced_stereo_draws, OpenGLRenderer::left, OpenGLDisplayDevice::open_window, OpenGLRenderer::right, and OpenGLRenderer::setup_initial_opengl_state.


The documentation for this class was generated from the following files:
Generated on Fri Aug 29 01:28:02 2008 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002