added missing ogl functions

This commit is contained in:
Michael Bickel
2014-02-11 03:38:52 +01:00
parent 14ab05b950
commit 17676b63b3
4 changed files with 40 additions and 1 deletions

View File

@@ -593,6 +593,7 @@ class GL {
public static function cullFace(mode:Int):Void
{
lime_gl_cull_face(mode);
}
public static function deleteBuffer(buffer:GLBuffer):Void
@@ -603,6 +604,8 @@ class GL {
public static function deleteFramebuffer(framebuffer:GLFramebuffer):Void
{
lime_gl_delete_framebuffer(framebuffer.id);
framebuffer.invalidate();
}
public static function deleteProgram(program:GLProgram):Void
@@ -613,6 +616,8 @@ class GL {
public static function deleteRenderbuffer(renderbuffer:GLRenderbuffer):Void
{
lime_gl_delete_render_buffer(renderbuffer.id);
renderbuffer.invalidate();
}
public static function deleteShader(shader:GLShader):Void
@@ -1191,8 +1196,11 @@ class GL {
private static var lime_gl_create_render_buffer = load("lime_gl_create_render_buffer", 0);
private static var lime_gl_create_shader = load("lime_gl_create_shader", 1);
private static var lime_gl_create_texture = load("lime_gl_create_texture", 0);
private static var lime_gl_cull_face = load("lime_gl_cull_face", 1);
private static var lime_gl_delete_buffer = load("lime_gl_delete_buffer", 1);
private static var lime_gl_delete_framebuffer = load("lime_gl_delete_framebuffer", 1);
private static var lime_gl_delete_program = load("lime_gl_delete_program", 1);
private static var lime_gl_delete_render_buffer = load("lime_gl_delete_render_buffer", 1);
private static var lime_gl_delete_shader = load("lime_gl_delete_shader", 1);
private static var lime_gl_delete_texture = load("lime_gl_delete_texture", 1);
private static var lime_gl_depth_func = load("lime_gl_depth_func", 1);

View File

@@ -70,7 +70,9 @@ using namespace Tizen::Graphics::Opengl;
#define glBindFramebuffer glBindFramebufferEXT
#define glBindRenderbuffer glBindRenderbufferEXT
#define glGenFramebuffers glGenFramebuffersEXT
#define glDeleteFramebuffers glDeleteFramebuffersEXT
#define glGenRenderbuffers glGenRenderbuffersEXT
#define glDeleteRenderbuffers glDeleteRenderbuffersEXT
#define glFramebufferRenderbuffer glFramebufferRenderbufferEXT
#define glFramebufferTexture2D glFramebufferTexture2DEXT
#define glRenderbufferStorage glRenderbufferStorageEXT

View File

@@ -75,6 +75,7 @@ OGL_EXT(glBufferSubData,void,(GLenum, GLintptr, GLsizeiptr, const GLvoid *));
OGL_EXT(glGetBufferParameteriv,void,(GLenum, GLenum, GLint *));
OGL_EXT(glBindFramebuffer,void,(GLenum, GLuint));
OGL_EXT(glGenFramebuffers,void,(GLsizei, GLuint *));
OGL_EXT(glDeleteFramebuffers,void,(GLsizei, const GLuint *));
OGL_EXT(glBindRenderbuffer,void,(GLenum, GLuint));
OGL_EXT(glFramebufferRenderbuffer,void,(GLenum, GLenum, GLenum, GLuint));
OGL_EXT(glFramebufferTexture2D,void,(GLenum, GLenum, GLenum, GLuint, GLint));
@@ -85,6 +86,7 @@ OGL_EXT(glCompressedTexSubImage2D,void,(GLenum, GLint, GLint, GLint, GLsizei, GL
OGL_EXT(glCompressedTexImage2D,void,(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *));
OGL_EXT(glGenerateMipmap,void,(GLenum));
OGL_EXT(glGenRenderbuffers,void,(GLsizei, GLuint *));
OGL_EXT(glDeleteRenderbuffers,void,(GLsizei, const GLuint *));
OGL_EXT(glGetFramebufferAttachmentParameteriv,void,(GLenum, GLenum, GLenum, GLint *));
OGL_EXT(glGetRenderbufferParameteriv,void,(GLenum, GLenum, GLint *));

View File

@@ -222,7 +222,7 @@ value lime_gl_get_parameter(value pname_val)
//case GL_MAX_VARYING_VECTORS:
case GL_MAX_VERTEX_ATTRIBS:
case GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS:
//case GL_MAX_VERTEX_UNIFORM_VECTORS:
case GL_MAX_VERTEX_UNIFORM_VECTORS:
case GL_NUM_COMPRESSED_TEXTURE_FORMATS:
case GL_PACK_ALIGNMENT:
case GL_RED_BITS:
@@ -1284,6 +1284,16 @@ value lime_gl_create_framebuffer( )
}
DEFINE_PRIM(lime_gl_create_framebuffer,0);
value lime_gl_delete_framebuffer(value target)
{
#ifndef HX_LINUX
GLuint id = val_int(target);
if (&glDeleteFramebuffers) glDeleteFramebuffers(1, &id);
#endif
return alloc_null();
}
DEFINE_PRIM(lime_gl_delete_framebuffer,1);
value lime_gl_create_render_buffer( )
{
GLuint id = 0;
@@ -1294,6 +1304,16 @@ value lime_gl_create_render_buffer( )
}
DEFINE_PRIM(lime_gl_create_render_buffer,0);
value lime_gl_delete_render_buffer(value target)
{
#ifndef HX_LINUX
GLuint id = val_int(target);
if (&glDeleteRenderbuffers) glDeleteRenderbuffers(1, &id);
#endif
return alloc_null();
}
DEFINE_PRIM(lime_gl_delete_render_buffer,1);
value lime_gl_framebuffer_renderbuffer(value target, value attachment, value renderbuffertarget, value renderbuffer)
{
#ifndef HX_LINUX
@@ -1462,6 +1482,13 @@ value lime_gl_depth_range(value inNear, value inFar)
DEFINE_PRIM(lime_gl_depth_range,2);
value lime_gl_cull_face(value mode)
{
glCullFace(val_int(mode));
return alloc_null();
}
DEFINE_PRIM(lime_gl_cull_face,1);
value lime_gl_polygon_offset(value factor, value units)
{