Relinquish
Relinquish is a Rendering library that wraps arround OpenGL. It is intended to smooth out some of the roughness of OpenGL. Instead of beeing a state machine, it has a object model where state is encapsulated in to objects and then boud. This counteracts the common problems of state leaks. Reliqush also provides many convinient features such as shader parsing and a matrix stack.
Reliquish is written to create a base line of hardware abstraction that allows the user to write portable graphics code that is backwards compatible and should run on any OpenGL 2.0 / DX9 level hardware. It also fully supports OpenGL ES 2.0 so any code written using Relinqush should easily be portable to mobile/embedded devices. The future plan is to port Reliqush over to Vulcan at some point.
If you are writing a high-end 3D engine, Reliquish may not provide all the functionality one would need. Relinquish has been designed to be used for things like UIs and tools where it is important to have a strong foundation of stabillity, portability and long therm compatibility rather then access the the latest hardware features. To facilitate the mixing and matching of Relinqush dependent code and other OpenGL code the library has the abillity to reset and restore its state, in order to play nice with other code.
Contents:
- Initialization
- r_init
- r_enable
- r_disable
- r_extension_test
- r_extension_get_address
- r_resource_debug
- r_extension_query
- Array data
- r_array_vertex_size
- r_array_allocate
- r_array_allocate_from_shader
- r_array_free
- r_array_defrag
- r_array_section_allocate_vertex
- r_array_section_allocate_reference
- r_array_section_free
- r_array_load_vertex
- r_array_load_reference
- r_array_get_size
- r_array_get_used
- r_array_get_left
- r_array_get_vertex_size
- r_array_section_get_vertex_count
- r_array_debug_print_out
- Draw calls
- r_array_draw
- r_array_sections_draw
- r_array_references_draw
- r_array_vertex_render
- r_array_section_draw
- r_array_reference_draw
- Matrices
- r_matrix_identity
- r_matrix_push
- r_matrix_pop
- r_matrix_matrix_mult
- r_matrix_rotate
- r_matrix_scale
- r_matrix_translate
- r_matrix_normalize_scale
- r_matrix_cube_map
- r_matrix_frustum
- r_matrix_ortho
- r_matrix_set
- r_matrix_get
- r_matrix_projection_screend
- r_matrix_projection_screenf
- r_matrix_projection_worldf
- r_matrix_projection_vertexd
- r_matrix_projection_vertexf
- r_matrix_projection_camerad
- r_matrix_projection_cameraf
- r_matrix_projection_surfacef
- r_matrix_projection_axisf
- r_matrix_projection_vectorf
- r_viewport
- Shaders
- r_shader_create
- r_shader_create_simple
- r_shader_create_from_file
- r_shader_destroy
- r_shader_set
- r_shader_texture_set
- Uniform query
- r_shader_uniform_block_count
- r_shader_uniform_block_size
- r_shader_uniform_block_member_count
- r_shader_uniform_block_member_name
- r_shader_uniform_block_member_type
- r_shader_uniform_block_member_offset
- r_shader_uniform_block_location
- Uniform blocks
- r_shader_uniform_data_set
- r_shader_uniform_matrix_set
- r_shader_uniform_texture_pointer_get
- Uniform State
- r_shader_uniform_location
- r_shader_uniform_texture_set
- r_shader_mat2v_set
- r_shader_mat3v_set
- r_shader_mat4v_set
- r_shader_vec4_set
- r_shader_vec3_set
- r_shader_vec2_set
- r_shader_float_set
- r_shader_int_set
- r_shader_int2_set
- r_shader_int3_set
- r_shader_int4_set
- r_shader_input_fomat_components_get
- r_shader_input_fomat_count_get
- r_shader_output_fomat_components_get
- r_shader_output_fomat_count_get
- Shader state
- r_shader_state_set_depth_test
- r_shader_state_set_cull_face
- r_shader_state_set_blend_mode
- r_shader_state_set_offset
- r_shader_state_set_alpha_to_coverage
- r_shader_state_set_mask
- r_shader_state_set_stencil
- Shader Debugging
- r_shader_debug_print_shader
- r_shader_debug_print_uniform_buffer
- Draw primitives
- r_shader_presets_get
- Surface primitives
- r_primitive_surface
- r_primitive_image
- Line primitives
- r_primitive_line_3d
- r_primitive_line_2d
- r_primitive_line_fade_3d
- r_primitive_line_fade_2d
- r_primitive_line_flush
- r_primitive_line_clear
- Sprite primitives
- r_primitive_sprite
- r_primitive_sprite_uv
- r_primitive_sprite_flush
- Image and texture
- r_texture_allocate
- r_texture_update
- r_texture_free
- Frame buffer objects
- r_framebuffer_allocate
- r_framebuffer_free
- r_framebuffer_bind
- r_framebuffer_id
- r_framebuffer_clear
- Defines