Panda3D
|
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