Max 5 API Reference
00001 #ifndef JIT_GL_RENDERBUFFER_H 00002 #define JIT_GL_RENDERBUFFER_H 00003 00004 /* 00005 * Copyright 2001-2005 - Cycling '74 00006 * Derek Gerstmann - derek@cycling74.com 00007 * 00008 * Struct and associated methods for maintaining an OpenGL 00009 * renderbuffer object (RB) which can be attached to a framebuffer 00010 * object (FBO) for performing a direct readback via an offscreen 00011 * framebuffer. 00012 * 00013 * Valid internal formats are any of the following: 00014 * 00015 * - Any format starting with: 00016 * RGB, RGBA, DEPTH_COMPONENT, (RGBA8, etc) 00017 * 00018 * - Any of the following stencil buffer formats (not working on NV): 00019 * STENCIL_INDEX1_EXT 00020 * STENCIL_INDEX4_EXT 00021 * STENCIL_INDEX8_EXT 00022 * STENCIL_INDEX16_EXT 00023 */ 00024 00025 /****************************************************************************/ 00026 00027 #include "jit.gl.h" 00028 #include "jit.common.h" 00029 00030 /****************************************************************************/ 00031 00032 #ifdef __cplusplus 00033 extern "C" { 00034 #endif 00035 00036 #if C74_PRAGMA_STRUCT_PACKPUSH 00037 #pragma pack(push, 2) 00038 #elif C74_PRAGMA_STRUCT_PACK 00039 #pragma pack(2) 00040 #endif 00041 00042 /****************************************************************************/ 00043 00044 typedef struct _jit_gl_renderbuffer 00045 { 00046 long id; // id of buffer object 00047 GLint width; // width of buffer object in pixels 00048 GLint height; // height of buffer object in pixels 00049 GLenum internal; // internal format of buffer object 00050 } t_jit_gl_renderbuffer; 00051 00052 /****************************************************************************/ 00053 00054 // creation / deletion 00055 t_jit_gl_renderbuffer *jit_gl_renderbuffer_new(void); 00056 void jit_gl_renderbuffer_free(t_jit_gl_renderbuffer *x); 00057 00058 // usage methods 00059 t_jit_err jit_gl_renderbuffer_create(t_jit_gl_renderbuffer *x, GLenum internal, GLint width, GLint height); 00060 t_jit_err jit_gl_renderbuffer_bind(t_jit_gl_renderbuffer *x); 00061 t_jit_err jit_gl_renderbuffer_unbind(t_jit_gl_renderbuffer *x); 00062 t_jit_err jit_gl_renderbuffer_destroy(t_jit_gl_renderbuffer *x); 00063 t_jit_err jit_gl_renderbuffer_reset(t_jit_gl_renderbuffer *x); 00064 00065 // system query methods 00066 t_jit_err jit_gl_renderbuffer_query_max_size(t_jit_gl_renderbuffer *x, GLint *width, GLint *height); 00067 t_jit_err jit_gl_renderbuffer_query_width(t_jit_gl_renderbuffer *x, GLint *value); 00068 t_jit_err jit_gl_renderbuffer_query_height(t_jit_gl_renderbuffer *x, GLint *value); 00069 t_jit_err jit_gl_renderbuffer_query_internal_format(t_jit_gl_renderbuffer *x, GLint *value); 00070 00071 /****************************************************************************/ 00072 00073 #if C74_PRAGMA_STRUCT_PACKPUSH 00074 #pragma pack(pop) 00075 #elif C74_PRAGMA_STRUCT_PACK 00076 #pragma pack() 00077 #endif 00078 00079 #ifdef __cplusplus 00080 } 00081 #endif 00082 00083 /****************************************************************************/ 00084 00085 #endif // JIT_GL_RENDERBUFFER_H
Copyright © 2008, Cycling '74