Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   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 {
  ATI, NVIDIA, MSOFTGDI, MESAGL,
  WIREGL, INTELSWR, 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 hasglpointparametersext
 glPointParameterfvARB. More...

int hasglpointspritearb
 OpenGL point sprite ARB extension. 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 hasglgeometryshader4arb
 OpenGL Geometry Shader ARB extension. More...

int hasglsampleshadingarb
 OpenGL Sample Shading 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 155 of file OpenGLExtensions.h.


Member Enumeration Documentation

enum OpenGLExtensions::rendenum
 

Enumeration values:
ATI 
NVIDIA 
MSOFTGDI 
MESAGL 
WIREGL 
INTELSWR 
GENERIC 

Definition at line 218 of file OpenGLExtensions.h.


Constructor & Destructor Documentation

OpenGLExtensions::OpenGLExtensions void   
 

Definition at line 45 of file OpenGLExtensions.C.

References hascompiledvertexarrayext, hasglarbtexnonpoweroftwo, hasglfragmentshaderarb, hasglgeometryshader4arb, hasglpointparametersext, hasglpointspritearb, hasglsampleshadingarb, hasglshaderobjectsarb, hasglshadinglangarb, hasglvertexshaderarb, hasmultidrawext, hasmultisample, hasrescalenormalext, hasstencilbuffer, hastex2d, hastex3d, multitextureunits, and NULL.

OpenGLExtensions::~OpenGLExtensions void    [virtual]
 

Definition at line 70 of file OpenGLExtensions.C.

References NULL, and vmddlclose.


Member Function Documentation

void OpenGLExtensions::find_extensions void   
 

initialize OpenGL extension state.

Definition at line 311 of file OpenGLExtensions.C.

References find_renderer, GLenum, GLfloat, GLint, GLsizei, hascompiledvertexarrayext, hasglarbtexnonpoweroftwo, hasglfragmentshaderarb, hasglgeometryshader4arb, hasglpointparametersext, hasglpointspritearb, hasglsampleshadingarb, hasglshaderobjectsarb, hasglshadinglangarb, hasglvertexshaderarb, 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 283 of file OpenGLExtensions.C.

References ATI, GENERIC, INTELSWR, MESAGL, MSOFTGDI, NULL, NVIDIA, oglrenderer, and WIREGL.

Referenced by find_extensions, and OpenGLRenderer::setup_initial_opengl_state.

void OpenGLExtensions::PrintExtensions void   
 

print out OpenGL extensions.

Definition at line 522 of file OpenGLExtensions.C.

References multitextureunits, NULL, and nummultisamples.

Referenced by OpenGLRenderer::setup_initial_opengl_state.

VMDGLXextFuncPtr OpenGLExtensions::vmdGetProcAddress const char *   
 

get extension proc addr.

Definition at line 109 of file OpenGLExtensions.C.

References glXGetProcAddress, NULL, vmddlopen, vmddlsym, and VMDGLXextFuncPtr.

Referenced by find_extensions.

int OpenGLExtensions::vmdQueryExtension const char *    extname
 

query OpenGL extension.

Definition at line 75 of file OpenGLExtensions.C.

References n, and 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 225 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 189 of file OpenGLExtensions.h.

const GLsizei OpenGLExtensions::GLenum
 

Definition at line 185 of file OpenGLExtensions.h.

Referenced by find_extensions.

OpenGLExtensions::GLfloat
 

Definition at line 187 of file OpenGLExtensions.h.

Referenced by find_extensions.

OpenGLExtensions::GLint
 

Definition at line 189 of file OpenGLExtensions.h.

Referenced by find_extensions.

const GLsizei const GLvoid OpenGLExtensions::GLsizei
 

Definition at line 185 of file OpenGLExtensions.h.

OpenGLExtensions::GLsizei
 

Definition at line 189 of file OpenGLExtensions.h.

Referenced by find_extensions.

int OpenGLExtensions::hascompiledvertexarrayext
 

ARB GL_EXT_compiled_vertex_array.

Definition at line 169 of file OpenGLExtensions.h.

Referenced by find_extensions, and OpenGLExtensions.

int OpenGLExtensions::hasglarbtexnonpoweroftwo
 

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

Definition at line 172 of file OpenGLExtensions.h.

Referenced by find_extensions, and OpenGLExtensions.

int OpenGLExtensions::hasglfragmentshaderarb
 

OpenGL Fragment Shader ARB extension.

Definition at line 178 of file OpenGLExtensions.h.

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

int OpenGLExtensions::hasglgeometryshader4arb
 

OpenGL Geometry Shader ARB extension.

Definition at line 179 of file OpenGLExtensions.h.

Referenced by find_extensions, and OpenGLExtensions.

int OpenGLExtensions::hasglpointparametersext
 

glPointParameterfvARB.

Definition at line 173 of file OpenGLExtensions.h.

Referenced by find_extensions, and OpenGLExtensions.

int OpenGLExtensions::hasglpointspritearb
 

OpenGL point sprite ARB extension.

Definition at line 174 of file OpenGLExtensions.h.

Referenced by find_extensions, and OpenGLExtensions.

int OpenGLExtensions::hasglsampleshadingarb
 

OpenGL Sample Shading ARB extension.

Definition at line 180 of file OpenGLExtensions.h.

Referenced by find_extensions, and OpenGLExtensions.

int OpenGLExtensions::hasglshaderobjectsarb
 

OpenGL Shader Objects ARB extension.

Definition at line 176 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 175 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 177 of file OpenGLExtensions.h.

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

int OpenGLExtensions::hasmultidrawext
 

ARB/Sun GL_EXT_multi_draw.

Definition at line 168 of file OpenGLExtensions.h.

Referenced by find_extensions, and OpenGLExtensions.

int OpenGLExtensions::hasmultisample
 

whether we have multisample extension.

Definition at line 163 of file OpenGLExtensions.h.

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

int OpenGLExtensions::hasrescalenormalext
 

ARB GL_RESCALE_NORMAL_EXT.

Definition at line 170 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 165 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 161 of file OpenGLExtensions.h.

Referenced by OpenGLRenderer::clear, FltkOpenGLDisplayDevice::FltkOpenGLDisplayDevice, FreeVRDisplayDevice::FreeVRDisplayDevice, 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 166 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 167 of file OpenGLExtensions.h.

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

GLint OpenGLExtensions::multitextureunits
 

number of multitexture texture units.

Definition at line 171 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 164 of file OpenGLExtensions.h.

Referenced by OpenGLDisplayDevice::open_window, and PrintExtensions.

int OpenGLExtensions::oglmajor
 

major version of OpenGL renderer.

Definition at line 221 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 222 of file OpenGLExtensions.h.

Referenced by find_extensions, and OpenGLRenderer::setup_initial_opengl_state.

int OpenGLExtensions::oglrelease
 

release of OpenGL renderer.

Definition at line 223 of file OpenGLExtensions.h.

Referenced by find_extensions.

rendenum OpenGLExtensions::oglrenderer
 

OpenGL renderer ID tag for important boards.

Definition at line 224 of file OpenGLExtensions.h.

Referenced by find_renderer, and OpenGLRenderer::setup_initial_opengl_state.

int OpenGLExtensions::stereodrawforced
 

must always draw in stereo, buggy driver.

Definition at line 162 of file OpenGLExtensions.h.

Referenced by OpenGLRenderer::clear, FltkOpenGLDisplayDevice::FltkOpenGLDisplayDevice, OpenGLRenderer::forced_stereo_draws, FreeVRDisplayDevice::FreeVRDisplayDevice, 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 Mar 29 02:47:52 2024 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002