Main Page   Class Hierarchy   Compound List   File List   Compound Members  

gfxGL.h

00001 //////////////////////////////////////////////////////////////////////
00002 // Copyright (c) 2002-2003 David Pritchard <drpritch@alumni.uwaterloo.ca>
00003 // 
00004 // This program is free software; you can redistribute it and/or
00005 // modify it under the terms of the GNU Lesser General Public License
00006 // as published by the Free Software Foundation; either
00007 // version 2 of the License, or (at your option) any later
00008 // version.
00009 // 
00010 // This program is distributed in the hope that it will be useful,
00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013 // GNU Lesser General Public License for more details.
00014 // 
00015 // You should have received a copy of the GNU Lesser General Public License
00016 // along with this program; if not, write to the Free Software
00017 // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00018 
00019 #ifndef freecloth_gfx_gfxGL_h
00020 #define freecloth_gfx_gfxGL_h
00021 
00022 #ifndef freecloth_gfx_package_h
00023 #include <freecloth/gfx/package.h>
00024 #endif
00025 
00026 #ifndef freecloth_base_GL_gl_h
00027 #include <freecloth/base/GL_gl.h>
00028 #endif
00029 
00030 ////////////////////////////////////////////////////////////////////////////////
00031 // FORWARD DECLARATIONS
00032 
00033 class ColColourRGB;
00034 
00035 FREECLOTH_NAMESPACE_START
00036     class GePoint;
00037     class GeVector;
00038     class GeMatrix4;
00039 FREECLOTH_NAMESPACE_END
00040 
00041 ////////////////////////////////////////////////////////////////////////////////
00042 /*!
00043  * \class GL freecloth/gfx/gfxGL.h
00044  * \brief OpenGL bindings for our utility classes.
00045  *
00046  * Calls to standard OpenGL functions (\p glColor, \p glVertex, etc.) using
00047  * our utility classes (\p ColColourRGB, \p GePoint, etc.)
00048  */
00049 class GL {
00050 
00051 public:
00052     // ----- static member functions -----
00053 
00054     static void colour( const ColColourRGB& );
00055     static void colour( const ColColourRGB&, Float alpha );
00056     static void fog( const ColColourRGB&, Float alpha = 0.f );
00057     static void multMatrix( const GeMatrix4& );
00058     static void normal( const GeVector& );
00059     static void lightPosition( GLenum light, const GeVector& );
00060     static void light(
00061         GLenum light,
00062         GLenum pname,
00063         const ColColourRGB&,
00064         Float alpha = 1
00065     );
00066     static void material(
00067         GLenum face,
00068         GLenum pname,
00069         const ColColourRGB&,
00070         Float alpha = 1.f
00071     );
00072     static void texCoord2( const GePoint& );
00073     static void translate( const GeVector& );
00074     static void translate( const GePoint& );
00075     static void vertex( const GePoint& );
00076 };
00077 #endif

Generated on Wed Apr 23 15:58:52 2003 for Freecloth by doxygen1.3-rc3