Build for OpenGL ES (2)

This commit is contained in:
rdb 2009-07-01 10:13:51 +00:00
parent b7aa2ead11
commit d8fe8dda6a
8 changed files with 120 additions and 61 deletions

View File

@ -45,25 +45,25 @@
#include <GLES2/gl2ext.h>
// This helps to keep the source clean of hundreds of #ifdefs.
#ifdef OPENGLES_2
#define GL_RENDERBUFFER_EXT GL_RENDERBUFFER
#define GL_FRAMEBUFFER_EXT GL_FRAMEBUFFER
#define GL_DRAW_FRAMEBUFFER_EXT GL_FRAMEBUFFER
#define GL_READ_FRAMEBUFFER_EXT GL_FRAMEBUFFER
#define GL_FRAMEBUFFER_COMPLETE_EXT GL_FRAMEBUFFER_COMPLETE
#define GL_FRAMEBUFFER_UNSUPPORTED_EXT GL_FRAMEBUFFER_UNSUPPORTED
#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT
#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT
#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS
#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT GL_FRAMEBUFFER_INCOMPLETE_FORMATS
#define GL_DEPTH_ATTACHMENT_EXT GL_DEPTH_ATTACHMENT
#define GL_COLOR_ATTACHMENT0_EXT GL_COLOR_ATTACHMENT0
#define GL_STENCIL_ATTACHMENT_EXT GL_STENCIL_ATTACHMENT
#define GL_DEPTH_COMPONENT24 GL_DEPTH_COMPONENT24_OES
#define GL_DEPTH_COMPONENT32 GL_DEPTH_COMPONENT32_OES
#define GL_TEXTURE_3D GL_TEXTURE_3D_OES
#define GL_MAX_3D_TEXTURE_SIZE GL_MAX_3D_TEXTURE_SIZE_OES
#endif
typedef char GLchar;
#define GL_RENDERBUFFER_EXT GL_RENDERBUFFER
#define GL_FRAMEBUFFER_EXT GL_FRAMEBUFFER
#define GL_DRAW_FRAMEBUFFER_EXT GL_FRAMEBUFFER
#define GL_READ_FRAMEBUFFER_EXT GL_FRAMEBUFFER
#define GL_FRAMEBUFFER_COMPLETE_EXT GL_FRAMEBUFFER_COMPLETE
#define GL_FRAMEBUFFER_UNSUPPORTED_EXT GL_FRAMEBUFFER_UNSUPPORTED
#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT
#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT
#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS
#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT GL_FRAMEBUFFER_INCOMPLETE_FORMATS
#define GL_DEPTH_ATTACHMENT_EXT GL_DEPTH_ATTACHMENT
#define GL_COLOR_ATTACHMENT0_EXT GL_COLOR_ATTACHMENT0
#define GL_STENCIL_ATTACHMENT_EXT GL_STENCIL_ATTACHMENT
#define GL_DEPTH_COMPONENT24 GL_DEPTH_COMPONENT24_OES
#define GL_DEPTH_COMPONENT32 GL_DEPTH_COMPONENT32_OES
#define GL_TEXTURE_3D GL_TEXTURE_3D_OES
#define GL_MAX_3D_TEXTURE_SIZE GL_MAX_3D_TEXTURE_SIZE_OES
#define GL_SAMPLER_3D GL_SAMPLER_3D_OES
#undef SUPPORT_IMMEDIATE_MODE
#define APIENTRY

View File

@ -50,46 +50,44 @@
#endif
// This helps to keep the source clean of hundreds of #ifdefs.
#ifdef OPENGLES_1
#define GL_NONE GL_NONE_OES
#define GL_RENDERBUFFER_EXT GL_RENDERBUFFER_OES
#define GL_FRAMEBUFFER_EXT GL_FRAMEBUFFER_OES
#define GL_DRAW_FRAMEBUFFER_EXT GL_FRAMEBUFFER_OES
#define GL_READ_FRAMEBUFFER_EXT GL_FRAMEBUFFER_OES
#define GL_COLOR_ATTACHMENT0_EXT GL_COLOR_ATTACHMENT0_OES
#define GL_DEPTH_ATTACHMENT_EXT GL_DEPTH_ATTACHMENT_OES
#define GL_STENCIL_ATTACHMENT_EXT GL_STENCIL_ATTACHMENT_OES
#define GL_FRAMEBUFFER_COMPLETE_EXT GL_FRAMEBUFFER_COMPLETE_OES
#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES
#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES
#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES
#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES
#define GL_FRAMEBUFFER_UNSUPPORTED_EXT GL_FRAMEBUFFER_UNSUPPORTED_OES
#define GL_DEPTH_COMPONENT GL_DEPTH_COMPONENT24_OES
#define GL_DEPTH_STENCIL GL_DEPTH_STENCIL_OES
#define GL_DEPTH_STENCIL_EXT GL_DEPTH_STENCIL_OES
#define GL_UNSIGNED_INT_24_8_EXT GL_UNSIGNED_INT_24_8_OES
#define GL_DEPTH24_STENCIL8_EXT GL_DEPTH24_STENCIL8_OES
#define GL_DEPTH_COMPONENT16 GL_DEPTH_COMPONENT16_OES
#define GL_DEPTH_COMPONENT24 GL_DEPTH_COMPONENT24_OES
#define GL_DEPTH_COMPONENT32 GL_DEPTH_COMPONENT32_OES
#define GL_TEXTURE_CUBE_MAP GL_TEXTURE_CUBE_MAP_OES
#define GL_TEXTURE_CUBE_MAP_POSITIVE_X GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES
#define GL_MAX_CUBE_MAP_TEXTURE_SIZE GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES
#define GL_MIRRORED_REPEAT GL_MIRRORED_REPEAT_OES
#define GL_RGB5_A1 GL_RGB5_A1_OES
#define GL_RGBA4 GL_RGBA4_OES
#define GL_RGB8 GL_RGB8_OES
#define GL_RGBA8 GL_RGBA8_OES
#define GL_FUNC_ADD GL_FUNC_ADD_OES
#define GL_FUNC_SUBTRACT GL_FUNC_SUBTRACT_OES
#define GL_FUNC_REVERSE_SUBTRACT GL_FUNC_REVERSE_SUBTRACT_OES
#endif
#define GL_NONE GL_NONE_OES
#define GL_RENDERBUFFER_EXT GL_RENDERBUFFER_OES
#define GL_FRAMEBUFFER_EXT GL_FRAMEBUFFER_OES
#define GL_DRAW_FRAMEBUFFER_EXT GL_FRAMEBUFFER_OES
#define GL_READ_FRAMEBUFFER_EXT GL_FRAMEBUFFER_OES
#define GL_COLOR_ATTACHMENT0_EXT GL_COLOR_ATTACHMENT0_OES
#define GL_DEPTH_ATTACHMENT_EXT GL_DEPTH_ATTACHMENT_OES
#define GL_STENCIL_ATTACHMENT_EXT GL_STENCIL_ATTACHMENT_OES
#define GL_FRAMEBUFFER_COMPLETE_EXT GL_FRAMEBUFFER_COMPLETE_OES
#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES
#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES
#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES
#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES
#define GL_FRAMEBUFFER_UNSUPPORTED_EXT GL_FRAMEBUFFER_UNSUPPORTED_OES
#define GL_DEPTH_COMPONENT GL_DEPTH_COMPONENT24_OES
#define GL_DEPTH_STENCIL GL_DEPTH_STENCIL_OES
#define GL_DEPTH_STENCIL_EXT GL_DEPTH_STENCIL_OES
#define GL_UNSIGNED_INT_24_8_EXT GL_UNSIGNED_INT_24_8_OES
#define GL_DEPTH24_STENCIL8_EXT GL_DEPTH24_STENCIL8_OES
#define GL_DEPTH_COMPONENT16 GL_DEPTH_COMPONENT16_OES
#define GL_DEPTH_COMPONENT24 GL_DEPTH_COMPONENT24_OES
#define GL_DEPTH_COMPONENT32 GL_DEPTH_COMPONENT32_OES
#define GL_TEXTURE_CUBE_MAP GL_TEXTURE_CUBE_MAP_OES
#define GL_TEXTURE_CUBE_MAP_POSITIVE_X GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES
#define GL_MAX_CUBE_MAP_TEXTURE_SIZE GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES
#define GL_MIRRORED_REPEAT GL_MIRRORED_REPEAT_OES
#define GL_RGB5_A1 GL_RGB5_A1_OES
#define GL_RGBA4 GL_RGBA4_OES
#define GL_RGB8 GL_RGB8_OES
#define GL_RGBA8 GL_RGBA8_OES
#define GL_FUNC_ADD GL_FUNC_ADD_OES
#define GL_FUNC_SUBTRACT GL_FUNC_SUBTRACT_OES
#define GL_FUNC_REVERSE_SUBTRACT GL_FUNC_REVERSE_SUBTRACT_OES
#undef SUPPORT_IMMEDIATE_MODE
#define APIENTRY

View File

@ -849,10 +849,15 @@ reset() {
#ifdef OPENGLES_2
_supports_glsl = true;
#else
_supports_glsl = is_at_least_gl_version(2, 0);
#ifdef OPENGLES_1
_supports_glsl = false;
#else
_supports_glsl = is_at_least_gl_version(2, 0);
#endif
#endif
_shader_caps._supports_glsl = _supports_glsl;
#ifndef OPENGLES_1
if (_supports_glsl) {
_glAttachShader = (PFNGLATTACHSHADERPROC)
get_extension_func(GLPREFIX_QUOTED, "AttachShader");
@ -903,6 +908,7 @@ reset() {
_glValidateProgram = (PFNGLVALIDATEPROGRAMPROC)
get_extension_func(GLPREFIX_QUOTED, "ValidateProgram");
}
#endif
#ifdef OPENGLES_2
// In OpenGL ES 2.x, FBO's are supported in the core.
@ -1394,12 +1400,14 @@ reset() {
#endif // OPENGLES
_dithering_enabled = false;
#ifndef OPENGLES_1
_current_shader = (Shader *)NULL;
_current_shader_context = (CLP(ShaderContext) *)NULL;
_vertex_array_shader = (Shader *)NULL;
_vertex_array_shader_context = (CLP(ShaderContext) *)NULL;
_texture_binding_shader = (Shader *)NULL;
_texture_binding_shader_context = (CLP(ShaderContext) *)NULL;
#endif
#ifdef OPENGLES_2
_max_lights = 0;
@ -1905,6 +1913,7 @@ void CLP(GraphicsStateGuardian)::
end_scene() {
GraphicsStateGuardian::end_scene();
#ifndef OPENGLES_1
if (_vertex_array_shader_context != 0) {
_vertex_array_shader_context->disable_shader_vertex_arrays(this);
_vertex_array_shader = (Shader *)NULL;
@ -1920,6 +1929,7 @@ end_scene() {
_current_shader = (Shader *)NULL;
_current_shader_context = (CLP(ShaderContext) *)NULL;
}
#endif
_dlights.clear();
report_my_gl_errors();
@ -2238,6 +2248,11 @@ begin_draw_primitives(const GeomPipelineReader *geom_reader,
}
#endif
#ifdef OPENGLES_1
if (!update_standard_vertex_arrays(force)) {
return false;
}
#else
if (_current_shader_context == 0 || !_current_shader_context->uses_custom_vertex_arrays()) {
// No shader, or a non-Cg shader.
if (_vertex_array_shader_context != 0) {
@ -2263,6 +2278,7 @@ begin_draw_primitives(const GeomPipelineReader *geom_reader,
_vertex_array_shader = _current_shader;
_vertex_array_shader_context = _current_shader_context;
#endif // OPENGLES_1
report_my_gl_errors();
return true;
@ -3132,9 +3148,11 @@ release_geom(GeomContext *gc) {
////////////////////////////////////////////////////////////////////
ShaderContext *CLP(GraphicsStateGuardian)::
prepare_shader(Shader *se) {
#ifndef OPENGLES_1
CLP(ShaderContext) *result = new CLP(ShaderContext)(se, this);
if (result->valid()) return result;
delete result;
#endif
return NULL;
}
@ -3145,8 +3163,10 @@ prepare_shader(Shader *se) {
////////////////////////////////////////////////////////////////////
void CLP(GraphicsStateGuardian)::
release_shader(ShaderContext *sc) {
#ifndef OPENGLES_1
CLP(ShaderContext) *gsc = DCAST(CLP(ShaderContext), sc);
delete gsc;
#endif
}
////////////////////////////////////////////////////////////////////
@ -3988,9 +4008,11 @@ do_issue_transform() {
do_auto_rescale_normal();
}
#ifndef OPENGLES_1
if (_current_shader_context) {
_current_shader_context->issue_parameters(this, Shader::SSD_transform);
}
#endif
report_my_gl_errors();
}
@ -4025,6 +4047,7 @@ do_issue_shade_model() {
////////////////////////////////////////////////////////////////////
void CLP(GraphicsStateGuardian)::
do_issue_shader() {
#ifndef OPENGLES_1
CLP(ShaderContext) *context = 0;
Shader *shader = (Shader *)(_target_shader->get_shader());
if (shader) {
@ -4054,6 +4077,7 @@ do_issue_shader() {
}
report_my_gl_errors();
#endif
}
////////////////////////////////////////////////////////////////////
@ -6705,10 +6729,12 @@ set_state_and_transform(const RenderState *target,
do_issue_color_scale();
_state_mask.set_bit(color_slot);
_state_mask.set_bit(color_scale_slot);
#ifndef OPENGLES_1
if (_current_shader_context) {
_current_shader_context->issue_parameters(this, Shader::SSD_color);
_current_shader_context->issue_parameters(this, Shader::SSD_colorscale);
}
#endif
}
int cull_face_slot = CullFaceAttrib::get_class_slot();
@ -6785,12 +6811,14 @@ set_state_and_transform(const RenderState *target,
_state_mask.set_bit(color_blend_slot);
}
#ifndef OPENGLES_1
if (_target_shader != _state_shader) {
//PStatTimer timer(_draw_set_state_shader_pcollector);
do_issue_shader();
_state_shader = _target_shader;
_state_mask.clear_bit(TextureAttrib::get_class_slot());
}
#endif
int texture_slot = TextureAttrib::get_class_slot();
if (_target_rs->get_attrib(texture_slot) != _state_rs->get_attrib(texture_slot) ||
@ -6848,9 +6876,11 @@ set_state_and_transform(const RenderState *target,
//PStatTimer timer(_draw_set_state_material_pcollector);
do_issue_material();
_state_mask.set_bit(material_slot);
#ifndef OPENGLES_1
if (_current_shader_context) {
_current_shader_context->issue_parameters(this, Shader::SSD_material);
}
#endif
}
int light_slot = LightAttrib::get_class_slot();
@ -6868,8 +6898,10 @@ set_state_and_transform(const RenderState *target,
do_issue_stencil();
_state_mask.set_bit(stencil_slot);
}
#ifndef OPENGLES_1
if (_current_shader_context == 0) {
#endif
int fog_slot = FogAttrib::get_class_slot();
if (_target_rs->get_attrib(fog_slot) != _state_rs->get_attrib(fog_slot) ||
!_state_mask.get_bit(fog_slot)) {
@ -6877,7 +6909,9 @@ set_state_and_transform(const RenderState *target,
do_issue_fog();
_state_mask.set_bit(fog_slot);
}
#ifndef OPENGLES_1
}
#endif
int scissor_slot = ScissorAttrib::get_class_slot();
if (_target_rs->get_attrib(scissor_slot) != _state_rs->get_attrib(scissor_slot) ||
@ -6967,6 +7001,9 @@ void CLP(GraphicsStateGuardian)::
do_issue_texture() {
DO_PSTATS_STUFF(_texture_state_pcollector.add_level(1));
#ifdef OPENGLES_1
update_standard_texture_bindings();
#else
if (_current_shader_context == 0 || !_current_shader_context->uses_custom_texture_bindings()) {
// No shader, or a non-Cg shader.
if (_texture_binding_shader_context != 0) {
@ -6985,6 +7022,7 @@ do_issue_texture() {
_texture_binding_shader = _current_shader;
_texture_binding_shader_context = _current_shader_context;
#endif
}
////////////////////////////////////////////////////////////////////

View File

@ -113,6 +113,7 @@ typedef void (APIENTRYP PFNGLLOADPALETTEFROMMODELVIEWMATRIXOESPROC) (void);
typedef void (APIENTRYP PFNGLMATRIXINDEXPOINTEROESPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
typedef void (APIENTRYP PFNGLWEIGHTPOINTEROESPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
#ifndef OPENGLES_1
// GLSL shader functions
typedef void (APIENTRYP PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader);
typedef void (APIENTRYP PFNGLCOMPILESHADERPROC) (GLuint shader);
@ -138,6 +139,7 @@ typedef void (APIENTRYP PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, con
typedef void (APIENTRYP PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat *value);
typedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPROC) (GLuint program);
#endif
#endif // __EDG__
////////////////////////////////////////////////////////////////////
@ -431,12 +433,14 @@ protected:
bool _point_perspective;
bool _vertex_blending_enabled;
#ifndef OPENGLES_1
PT(Shader) _current_shader;
CLP(ShaderContext) *_current_shader_context;
PT(Shader) _vertex_array_shader;
CLP(ShaderContext) *_vertex_array_shader_context;
PT(Shader) _texture_binding_shader;
CLP(ShaderContext) *_texture_binding_shader_context;
#endif
#ifdef SUPPORT_IMMEDIATE_MODE
CLP(ImmediateModeSender) _sender;
@ -574,6 +578,7 @@ public:
PFNGLACTIVESTENCILFACEEXTPROC _glActiveStencilFaceEXT;
#ifndef OPENGLES_1
// GLSL functions
PFNGLATTACHSHADERPROC _glAttachShader;
PFNGLCOMPILESHADERPROC _glCompileShader;
@ -599,6 +604,7 @@ public:
PFNGLUNIFORM4FVPROC _glUniform4fv;
PFNGLUNIFORMMATRIX4FVPROC _glUniformMatrix4fv;
PFNGLVALIDATEPROGRAMPROC _glValidateProgram;
#endif
GLenum _edge_clamp;
GLenum _border_clamp;

View File

@ -12,6 +12,8 @@
//
////////////////////////////////////////////////////////////////////
#ifndef OPENGLES_1
////////////////////////////////////////////////////////////////////
// Function: GLShaderContext::valid
// Access: Public
@ -58,3 +60,5 @@ uses_custom_texture_bindings() {
return true;
}
#endif // OPENGLES_1

View File

@ -12,6 +12,8 @@
//
////////////////////////////////////////////////////////////////////
#ifndef OPENGLES_1
#ifdef HAVE_CG
#include "Cg/cgGL.h"
#endif
@ -132,6 +134,7 @@ CLP(ShaderContext)(Shader *s, GSG *gsg) : ShaderContext(s) {
continue;
}
switch (param_type) {
#ifndef OPENGLES
case GL_SAMPLER_1D_SHADOW:
case GL_SAMPLER_1D: {
Shader::ShaderTexSpec bind;
@ -142,6 +145,7 @@ CLP(ShaderContext)(Shader *s, GSG *gsg) : ShaderContext(s) {
s->_tex_spec.push_back(bind);
continue; }
case GL_SAMPLER_2D_SHADOW:
#endif
case GL_SAMPLER_2D: {
Shader::ShaderTexSpec bind;
bind._id = arg_id;
@ -168,12 +172,14 @@ CLP(ShaderContext)(Shader *s, GSG *gsg) : ShaderContext(s) {
continue; }
case GL_FLOAT_MAT2:
case GL_FLOAT_MAT3:
#ifndef OPENGLES
case GL_FLOAT_MAT2x3:
case GL_FLOAT_MAT2x4:
case GL_FLOAT_MAT3x2:
case GL_FLOAT_MAT3x4:
case GL_FLOAT_MAT4x2:
case GL_FLOAT_MAT4x3:
#endif
GLCAT.warning() << "GLSL shader requested an unrecognized matrix type\n";
continue;
case GL_FLOAT_MAT4: {
@ -846,4 +852,5 @@ glsl_compile_shader(GSG *gsg) {
return true;
}
#endif // OPENGLES_1

View File

@ -12,6 +12,8 @@
//
////////////////////////////////////////////////////////////////////
#ifndef OPENGLES_1
#include "pandabase.h"
#include "string_utils.h"
#include "internalName.h"
@ -99,3 +101,5 @@ private:
#include "glShaderContext_src.I"
#endif // OPENGLES_1

View File

@ -163,7 +163,9 @@ void CLP(init_classes)() {
CLP(GeomMunger)::init_type();
CLP(GraphicsStateGuardian)::init_type();
CLP(IndexBufferContext)::init_type();
#ifndef OPENGLES_1
CLP(ShaderContext)::init_type();
#endif
CLP(TextureContext)::init_type();
CLP(VertexBufferContext)::init_type();
CLP(GraphicsBuffer)::init_type();