X3D libraries
The libraries to work with X3D dataset

opengl.h

Go to the documentation of this file.
00001 /*
00002  *    libx3d render -- OpenGL render processor
00003  *    Copyright (C) 2005  Made to Order Software, Corp.
00004  *
00005  *    This library is free software; you can redistribute it and/or
00006  *    modify it under the terms of the GNU Lesser General Public
00007  *    License as published by the Free Software Foundation; either
00008  *    version 2.1 of the License, or (at your option) any later version.
00009  *
00010  *    This library 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 GNU
00013  *    Lesser General Public License for more details.
00014  *
00015  *    You should have received a copy of the GNU Lesser General Public
00016  *    License along with this library; if not, write to the Free Software
00017  *    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00018  *
00019  * File: render/include/x3d/opengl.h
00020  * License: GNU Lesser General Public License
00022  * $Revision: 1.1 $
00023  * $Date: 2005/12/07 21:23:14 $
00024  *
00025  * $Log: opengl.h,v $
00026  * Revision 1.1  2005/12/07 21:23:14  alexis
00027  * Added header and .c++ files to support OpenGL
00028  *
00029  *
00030  *
00031  */
00032 #ifndef __LIBX3D_OPENGL_H__
00033 #define __LIBX3D_OPENGL_H__
00034 
00035 #define X3D_OPENGL_VERSION              0.1
00036 
00037 #define X3D_OPENGL_RELEASE              0
00038 #define X3D_OPENGL_REVISION             1
00039 
00040 
00041 #include        <x3d/render.h>
00042 
00043 
00044 /// This name space includes the OpenGL render processor and all the necessary OpenGL functions
00045 namespace x3dgl
00046 {
00047 
00048 
00049 /** \file opengl.h
00050  *
00051  * \brief Defines the OpenGL processor.
00052  *
00053  * Includes the public definitions used by the OpenGL processor.
00054  *
00055  * Note that the internal definitions (such as the OpenGL
00056  * RenderShape) are not defined here since you should not be
00057  * able to create these yourself.
00058  *
00059  * \sa render.h
00060  */
00061 
00062 
00063 
00064 
00065 /// The OpenGL render processor
00066 class OpenGLProcessor : public x3drender::RenderProcessor
00067 {
00068 public:
00069                                 OpenGLProcessor();
00070         virtual                 ~OpenGLProcessor();
00071 
00072         void                    AddGLList(x3d::SFInt32 gllist);
00073 
00074 // RenderProcessor interface
00075         virtual x3drender::RenderShape *CreateShape(x3drender::RenderState *render_state) const;
00076         virtual bool                    Render(x3drender::RenderState *render_state);
00077 
00078 private:
00079         x3d::MFInt32            f_gllists;
00080 };
00081 
00082 
00083 
00084 
00085 
00086 
00087 
00088 
00089 };              // namespace x3dgl
00090 
00091 
00092 
00093 // vim: ts=8
00094 #endif          // #ifndef __LIBX3D_OPENGL_H__

00021 * $Id: opengl.h,v 1.1 2005/12/07 21:23:14 alexis Exp $