Panda3D

gles2gsg.h

00001 // Filename: gles2gsg.h
00002 // Created by:  pro-rsoft (14Jun09)
00003 //
00004 ////////////////////////////////////////////////////////////////////
00005 //
00006 // PANDA 3D SOFTWARE
00007 // Copyright (c) Carnegie Mellon University.  All rights reserved.
00008 //
00009 // All use of this software is subject to the terms of the revised BSD
00010 // license.  You should have received a copy of this license along
00011 // with this source code in a file named "LICENSE."
00012 //
00013 ////////////////////////////////////////////////////////////////////
00014 
00015 #ifndef GLES2GSG_H
00016 #define GLES2GSG_H
00017 
00018 // This header file compiles a GSG for the limited subset of OpenGL
00019 // that is OpenGL ES 2.
00020 
00021 #include "pandabase.h"
00022 #include "config_gles2gsg.h"
00023 
00024 #define GLP(name) gl##name
00025 
00026 #ifndef STDFLOAT_DOUBLE
00027 #define GLPf(name) gl ## name ## f
00028 #define GLPfv(name) gl ## name ## fv
00029 #else  // STDFLOAT_DOUBLE
00030 #define GLPf(name) gl ## name ## d
00031 #define GLPfv(name) gl ## name ## dv
00032 #endif  // STDFLOAT_DOUBLE
00033 
00034 #define CLP(name) GLES2##name
00035 #define GLPREFIX_QUOTED "gl"
00036 #define CLASSPREFIX_QUOTED "GLES2"
00037 #define GLSYSTEM_NAME "OpenGL ES 2"
00038 #define CONFIGOBJ config_gles2gsg
00039 #define GLCAT gles2gsg_cat
00040 #define EXPCL_GL EXPCL_PANDAGLES2
00041 #define EXPTP_GL EXPTP_PANDAGLES2
00042 #ifdef OPENGLES_1
00043   #error OPENGLES_1 should not be defined!
00044 #endif
00045 #ifndef OPENGLES
00046   #define OPENGLES
00047 #endif
00048 #ifndef OPENGLES_2
00049   #define OPENGLES_2
00050 #endif
00051 
00052 #ifdef IS_OSX
00053   #include <OpenGLES/ES2/gl.h>
00054   #include <OpenGLES/ES2/glext.h>
00055 #else
00056   #include <GLES2/gl2.h>
00057   #include <GLES2/gl2ext.h>
00058 #endif
00059 
00060 #include "panda_esgl2ext.h" 
00061 
00062 // This helps to keep the source clean of hundreds of #ifdefs.
00063 typedef char GLchar;
00064 #define GL_RENDERBUFFER_EXT GL_RENDERBUFFER
00065 #define GL_FRAMEBUFFER_EXT GL_FRAMEBUFFER
00066 #define GL_DRAW_FRAMEBUFFER_EXT GL_FRAMEBUFFER
00067 #define GL_READ_FRAMEBUFFER_EXT GL_FRAMEBUFFER
00068 #define GL_FRAMEBUFFER_COMPLETE_EXT GL_FRAMEBUFFER_COMPLETE
00069 #define GL_FRAMEBUFFER_UNSUPPORTED_EXT GL_FRAMEBUFFER_UNSUPPORTED
00070 #define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT
00071 #define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT
00072 #define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS
00073 #define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT GL_FRAMEBUFFER_INCOMPLETE_FORMATS
00074 #define GL_DEPTH_ATTACHMENT_EXT GL_DEPTH_ATTACHMENT
00075 #define GL_COLOR_ATTACHMENT0_EXT GL_COLOR_ATTACHMENT0
00076 #define GL_STENCIL_ATTACHMENT_EXT GL_STENCIL_ATTACHMENT
00077 #define GL_DEPTH_COMPONENT24 GL_DEPTH_COMPONENT24_OES
00078 #define GL_DEPTH_COMPONENT32 GL_DEPTH_COMPONENT32_OES
00079 #define GL_TEXTURE_3D GL_TEXTURE_3D_OES
00080 #define GL_MAX_3D_TEXTURE_SIZE GL_MAX_3D_TEXTURE_SIZE_OES
00081 #define GL_SAMPLER_3D GL_SAMPLER_3D_OES
00082 
00083 #undef SUPPORT_IMMEDIATE_MODE
00084 #define APIENTRY
00085 #define APIENTRYP *
00086 
00087 #include "glstuff_src.h"
00088  
00089 #endif  // GLES2GSG_H
 All Classes Functions Variables Enumerations