Supports the creation of off-screen pixel buffers (surfaces) for use with OpenGL ES. The implementation uses the EGL API which adapts OpenGL to the native windowing system.
EGl-PBuffer | Supports the creation of off-screen pixel buffers (surfaces) for use with OpenGL ES. |
Copyright | This program is free software. |
Files | |
C-kern/ | Header file EGl-PBuffer. |
C-kern/ | Implementation file EGl-PBuffer impl. |
Types | |
struct eglpbuffer_t | Export eglpbuffer_t into global namespace. |
Functions | |
test | |
unittest_platform_opengl_egl_eglpbuffer | Test eglpbuffer_t functionality. |
eglpbuffer_t | Points to an OpenGL pixel buffer. |
lifetime | |
eglpbuffer_FREE | Static initializer. |
init_eglpbuffer | Allocates a pixel buffer with size (width, height) in pixels and returns it in eglpbuf. |
free_eglpbuffer | Frees all associated resources with eglpbuf. |
query | |
size_eglpbuffer | Returns the width and height of eglpbuf in width and height. |
configid_eglpbuffer | Returns the configuration ID of eglpbuf in configid. |
This program is free software. You can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
© 2014 Jörg Seebohn
Header file EGl-PBuffer.
Implementation file EGl-PBuffer impl.
Export eglpbuffer_t into global namespace.
test | |
unittest_platform_opengl_egl_eglpbuffer | Test eglpbuffer_t functionality. |
int unittest_platform_opengl_egl_eglpbuffer( void )
Test eglpbuffer_t functionality.
typedef struct opengl_surface_t * eglpbuffer_t
Points to an OpenGL pixel buffer. The implementation uses os independent EGL API to create the context. OpenGL(ES) allows the binding of an off-screen pixel buffer to texture. This allows to render the content of the texture directly. This version of the EGL implementation does not support binding to a texture. ANother possibility
lifetime | |
eglpbuffer_FREE | Static initializer. |
init_eglpbuffer | Allocates a pixel buffer with size (width, height) in pixels and returns it in eglpbuf. |
free_eglpbuffer | Frees all associated resources with eglpbuf. |
query | |
size_eglpbuffer | Returns the width and height of eglpbuf in width and height. |
configid_eglpbuffer | Returns the configuration ID of eglpbuf in configid. |
int init_eglpbuffer( /*out*/eglpbuffer_t * eglpbuf, struct opengl_display_t * egldisp, struct opengl_config_t * eglconf, uint32_t width, uint32_t height )
Allocates a pixel buffer with size (width, height) in pixels and returns it in eglpbuf. The parameter egldisp must be a valid egldisplay_t and eglconf must be a valid eglconfig_t with attribute gconfig_TYPE containing set bit gconfig_value_TYPE_PBUFFER_BIT.
int configid_eglpbuffer( const eglpbuffer_t eglpbuf, struct opengl_display_t * egldisp, /*out*/uint32_t * configid )
Returns the configuration ID of eglpbuf in configid. Use id in a call to <initfromconfigid_eglconfig> for querying the configuration values assigned during creation of eglpbuf.
Points to an OpenGL pixel buffer.
typedef struct opengl_surface_t * eglpbuffer_t
Test eglpbuffer_t functionality.
int unittest_platform_opengl_egl_eglpbuffer( void )
Static initializer.
#define eglpbuffer_FREE 0
Allocates a pixel buffer with size (width, height) in pixels and returns it in eglpbuf.
int init_eglpbuffer( /*out*/eglpbuffer_t * eglpbuf, struct opengl_display_t * egldisp, struct opengl_config_t * eglconf, uint32_t width, uint32_t height )
Frees all associated resources with eglpbuf.
int free_eglpbuffer( eglpbuffer_t * eglpbuf, struct opengl_display_t * egldisp )
Returns the width and height of eglpbuf in width and height.
int size_eglpbuffer( const eglpbuffer_t eglpbuf, struct opengl_display_t * egldisp, /*out*/uint32_t * width, /*out*/uint32_t * height )
Returns the configuration ID of eglpbuf in configid.
int configid_eglpbuffer( const eglpbuffer_t eglpbuf, struct opengl_display_t * egldisp, /*out*/uint32_t * configid )