amino
Lightweight Robot Utility Library
|
OpenGL Support. More...
Go to the source code of this file.
Functions | |
AA_API void | aa_rx_sg_gl_init (struct aa_rx_sg *sg) |
Initialize OpenGL objects in scene graph. More... | |
AA_API void | aa_rx_sg_render (const struct aa_rx_sg *scenegraph, const struct aa_gl_globals *globals, size_t n_TF, const double *TF_abs, size_t ld_TF) |
Render the scene graph to the current GL context. More... | |
AA_API void | aa_gl_qutr2glmat (const double E[AA_RESTRICT 7], GLfloat M[AA_RESTRICT 16]) |
Convert a quaternion-translation to an OpenGL matrix. | |
AA_API void | aa_gl_tfmat2glmat (const double T[AA_RESTRICT 12], GLfloat M[AA_RESTRICT 16]) |
Convert a condensed transformation matrix to an OpenGL matrix. | |
AA_API void | aa_gl_mat_perspective (double fovy, double aspect, double znear, double zfar, GLfloat M[16]) |
Create a OpenGL matrix for a perspective transform. | |
AA_API GLuint | aa_gl_create_shader (GLenum shader_type, const char *source) |
Compile a shader from a text string. | |
AA_API GLuint | aa_gl_create_program (GLuint vert_shader, GLuint frag_shader) |
Create a GLSL program and attach shaders. | |
AA_API void | aa_gl_init () |
Initialize GL engine. | |
AA_API struct aa_gl_globals * | aa_gl_globals_create () |
Container for globals rendering info (Forward declaration) | |
AA_API void | aa_gl_globals_destroy (struct aa_gl_globals *globals) |
Destroy a aa_gl_globals struct. | |
AA_API void | aa_gl_globals_set_camera (struct aa_gl_globals *globals, const double world_E_camera[7]) |
Set the camera transform. | |
AA_API void | aa_gl_globals_set_camera_home (struct aa_gl_globals *globals, const double world_E_camera_home[7]) |
Set the camera "home" transform. | |
AA_API void | aa_gl_globals_home_camera (struct aa_gl_globals *globals) |
Set the camera transform to its "home" value. | |
AA_API void | aa_gl_globals_set_light_position (struct aa_gl_globals *globals, const double world_v_light[3]) |
Set the position of the light. | |
AA_API void | aa_gl_globals_set_aspect (struct aa_gl_globals *globals, double aspect) |
Set the camera aspect ratio. | |
AA_API void | aa_gl_globals_set_perspective (struct aa_gl_globals *globals, double fovy, double aspect, double znear, double zfar) |
Set the camera perspective matrix. | |
AA_API void | aa_gl_globals_set_light_color (struct aa_gl_globals *globals, const double color[3]) |
Set the color of the light. | |
AA_API void | aa_gl_globals_set_light_power (struct aa_gl_globals *globals, double power) |
Set the power (intensity) of the light. | |
AA_API void | aa_gl_globals_set_ambient (struct aa_gl_globals *globals, const double ambient[3]) |
Set the light ambient color. | |
AA_API void | aa_gl_globals_set_show_visual (struct aa_gl_globals *globals, int show_visual) |
Set flag to enable render of visual geometry. | |
AA_API void | aa_gl_globals_set_show_collision (struct aa_gl_globals *globals, int show_collision) |
Set flag to enable render of collision geometry. | |
AA_API void | aa_gl_globals_unmask_all (struct aa_gl_globals *globals) |
Set the display mask value of all frames to false. | |
AA_API int | aa_gl_globals_is_masked (const struct aa_gl_globals *globals, size_t i) |
Return the display mask value of the i'th frame. | |
AA_API void | aa_gl_globals_mask (struct aa_gl_globals *globals, size_t i, int value) |
Set the display mask value of the i'th frame to `value'. More... | |
AA_API void | aa_geom_gl_buffers_init (struct aa_rx_geom *geom) |
Initialize OpenGL buffers for geometry object. | |
AA_API void | aa_gl_buffers_destroy (struct aa_gl_buffers *buffers) |
Destroy OpenGL buffers. More... | |
AA_API void | aa_gl_buffers_schedule_destroy (struct aa_gl_buffers *buffers) |
Schedule destruction of OpenGL buffers. More... | |
AA_API void | aa_gl_buffers_cleanup (void) |
Destroy previously schedule OpenGL buffers. More... | |
AA_API const char * | aa_gl_error_string (GLenum error) |
Return a string describing the error. | |
OpenGL Support.
Definition in file scene_gl.h.
AA_API void aa_gl_buffers_cleanup | ( | void | ) |
Destroy previously schedule OpenGL buffers.
This function should only be called from the thread that owns the GL context for buffers, i.e., the rendering thread..
AA_API void aa_gl_buffers_destroy | ( | struct aa_gl_buffers * | buffers | ) |
Destroy OpenGL buffers.
This function should only be called from the thread that owns the GL context for buffers.
AA_API void aa_gl_buffers_schedule_destroy | ( | struct aa_gl_buffers * | buffers | ) |
Schedule destruction of OpenGL buffers.
This function can be called from any thread.
AA_API void aa_gl_globals_mask | ( | struct aa_gl_globals * | globals, |
size_t | i, | ||
int | value | ||
) |
Set the display mask value of the i'th frame to `value'.
Frames with a true display mask are hidden.
Initialize OpenGL objects in scene graph.
This function is not threadsafe. Do not attempt to access the same GL context from multiple threads.
AA_API void aa_rx_sg_render | ( | const struct aa_rx_sg * | scenegraph, |
const struct aa_gl_globals * | globals, | ||
size_t | n_TF, | ||
const double * | TF_abs, | ||
size_t | ld_TF | ||
) |
Render the scene graph to the current GL context.
This function is not threadsafe. Do not attempt to access the same GL context from multiple threads.
scengreaph | the scene graph to render |
globals | the opengl global values |
n_TF | size of the TF array |
TF_abs | absolute transforms of frames in the scene graph (quaternion-translation format) |
ld_TF | leading dimension of TF_abs (typically 7) |