![]() |
amino
Lightweight Robot Utility Library
|
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_unmask_all (struct aa_gl_globals *globals) |
AA_API int | aa_gl_globals_is_masked (const struct aa_gl_globals *globals, size_t i) |
AA_API void | aa_gl_globals_mask (struct aa_gl_globals *globals, size_t i, int value) |
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_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 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.
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) |