mirror of
https://github.com/brl/mutter.git
synced 2024-11-23 16:40:41 -05:00
2dba3e8cbf
This add two new function that allows us to transform or project an array of points instead of only transforming one point at a time. Recent benchmarking has shown cogl_matrix_transform_point to be a bottleneck sometimes, so this should allow us to reduce the overhead when transforming lots of vertices at the same time, and also reduce the cost of 3 component, non-projective transforms. For now they are marked as experimental (you have to define COGL_ENABLE_EXPERIMENTAL_API) because there is some concern that it introduces some inconsistent naming. cogl_matrix_transform_point would have to be renamed cogl_matrix_project_point to be consistent, but that would be an API break.
624 lines
12 KiB
Plaintext
624 lines
12 KiB
Plaintext
<SECTION>
|
|
<FILE>cogl</FILE>
|
|
<TITLE>General API</TITLE>
|
|
CoglObject
|
|
cogl_object_ref
|
|
cogl_object_unref
|
|
CoglUserDataKey
|
|
cogl_object_get_user_data
|
|
cogl_object_set_user_data
|
|
COGL_INVALID_HANDLE
|
|
CoglHandle
|
|
cogl_handle_ref
|
|
cogl_handle_unref
|
|
|
|
<SUBSECTION>
|
|
CoglFuncPtr
|
|
CoglPixelFormat
|
|
CoglBufferTarget
|
|
CoglBufferBit
|
|
CoglAttributeType
|
|
|
|
<SUBSECTION>
|
|
CoglFeatureFlags
|
|
cogl_get_features
|
|
cogl_features_available
|
|
cogl_get_proc_address
|
|
cogl_get_option_group
|
|
|
|
<SUBSECTION>
|
|
cogl_push_matrix
|
|
cogl_pop_matrix
|
|
cogl_scale
|
|
cogl_translate
|
|
cogl_rotate
|
|
cogl_transform
|
|
cogl_frustum
|
|
cogl_perspective
|
|
cogl_ortho
|
|
|
|
<SUBSECTION>
|
|
cogl_get_modelview_matrix
|
|
cogl_set_modelview_matrix
|
|
cogl_get_projection_matrix
|
|
cogl_set_projection_matrix
|
|
cogl_set_viewport
|
|
cogl_get_viewport
|
|
|
|
<SUBSECTION>
|
|
cogl_clear
|
|
cogl_set_backface_culling_enabled
|
|
cogl_get_backface_culling_enabled
|
|
|
|
<SUBSECTION>
|
|
CoglFogMode
|
|
cogl_set_fog
|
|
cogl_disable_fog
|
|
|
|
<SUBSECTION>
|
|
cogl_set_source
|
|
cogl_set_source_color
|
|
cogl_set_source_color4ub
|
|
cogl_set_source_color4f
|
|
cogl_set_source_texture
|
|
cogl_get_source
|
|
cogl_push_source
|
|
cogl_pop_source
|
|
|
|
<SUBSECTION>
|
|
CoglReadPixelsFlags
|
|
cogl_read_pixels
|
|
|
|
<SUBSECTION>
|
|
cogl_flush
|
|
cogl_begin_gl
|
|
cogl_end_gl
|
|
|
|
<SUBSECTION Standard>
|
|
COGL_TYPE_ATTRIBUTE_TYPE
|
|
COGL_TYPE_BLEND_STRING_ERROR
|
|
COGL_TYPE_BUFFER_ACCESS
|
|
COGL_TYPE_BUFFER_BIT
|
|
COGL_TYPE_BUFFER_TARGET
|
|
COGL_TYPE_BUFFER_UPDATE_HINT
|
|
COGL_TYPE_BUFFER_USAGE_HINT
|
|
COGL_TYPE_DEBUG_FLAGS
|
|
COGL_TYPE_DRIVER_ERROR
|
|
COGL_TYPE_FEATURE_FLAGS
|
|
COGL_TYPE_FIXED
|
|
COGL_TYPE_FOG_MODE
|
|
COGL_TYPE_HANDLE
|
|
COGL_TYPE_INDICES_TYPE
|
|
COGL_TYPE_MATERIAL_ALPHA_FUNC
|
|
COGL_TYPE_MATERIAL_FILTER
|
|
COGL_TYPE_MATERIAL_LAYER_TYPE
|
|
COGL_TYPE_PIXEL_FORMAT
|
|
COGL_TYPE_READ_PIXELS_FLAGS
|
|
COGL_TYPE_SHADER_TYPE
|
|
COGL_TYPE_TEXTURE_FLAGS
|
|
COGL_TYPE_VERTICES_MODE
|
|
|
|
<SUBSECTION Private>
|
|
COGL_DRIVER_ERROR
|
|
CoglDriverError
|
|
cogl_attribute_type_get_type
|
|
cogl_buffer_bit_get_type
|
|
cogl_buffer_target_get_type
|
|
cogl_debug_flags_get_type
|
|
cogl_driver_error_get_type
|
|
cogl_feature_flags_get_type
|
|
cogl_fixed_get_type
|
|
cogl_fog_mode_get_type
|
|
cogl_handle_get_type
|
|
cogl_indices_type_get_type
|
|
cogl_material_alpha_func_get_type
|
|
cogl_material_filter_get_type
|
|
cogl_material_layer_type_get_type
|
|
cogl_pixel_format_get_type
|
|
cogl_read_pixels_flags_get_type
|
|
cogl_shader_type_get_type
|
|
cogl_texture_flags_get_type
|
|
cogl_vertices_mode_get_type
|
|
COGL_AFIRST_BIT
|
|
COGL_A_BIT
|
|
COGL_BGR_BIT
|
|
COGL_PIXEL_FORMAT_24
|
|
COGL_PIXEL_FORMAT_32
|
|
COGL_PREMULT_BIT
|
|
COGL_UNORDERED_MASK
|
|
COGL_UNPREMULT_MASK
|
|
</SECTION>
|
|
|
|
<SECTION>
|
|
<FILE>cogl-clipping</FILE>
|
|
<TITLE>Clipping</TITLE>
|
|
cogl_clip_push_rectangle
|
|
cogl_clip_push_window_rectangle
|
|
cogl_clip_push_from_path
|
|
cogl_clip_push_from_path_preserve
|
|
cogl_clip_pop
|
|
</SECTION>
|
|
|
|
<SECTION>
|
|
<FILE>cogl-primitives</FILE>
|
|
<TITLE>Primitives</TITLE>
|
|
cogl_rectangle
|
|
cogl_rectangles
|
|
cogl_rectangle_with_texture_coords
|
|
cogl_rectangles_with_texture_coords
|
|
cogl_rectangle_with_multitexture_coords
|
|
cogl_polygon
|
|
</SECTION>
|
|
|
|
<SECTION>
|
|
<FILE>cogl-paths</FILE>
|
|
<TITLE>Path Primitives</TITLE>
|
|
cogl_is_path
|
|
cogl_path_new
|
|
cogl_get_path
|
|
cogl_set_path
|
|
cogl_path_copy
|
|
cogl_path_move_to
|
|
cogl_path_close
|
|
cogl_path_line_to
|
|
cogl_path_curve_to
|
|
cogl_path_arc
|
|
cogl_path_rel_move_to
|
|
cogl_path_rel_line_to
|
|
cogl_path_rel_curve_to
|
|
cogl_path_line
|
|
cogl_path_polyline
|
|
cogl_path_polygon
|
|
cogl_path_rectangle
|
|
cogl_path_round_rectangle
|
|
cogl_path_ellipse
|
|
|
|
<SUBSECTION>
|
|
CoglPathFillRule
|
|
cogl_path_set_fill_rule
|
|
cogl_path_get_fill_rule
|
|
cogl_path_fill
|
|
cogl_path_fill_preserve
|
|
cogl_path_stroke
|
|
cogl_path_stroke_preserve
|
|
</SECTION>
|
|
|
|
<SECTION>
|
|
<FILE>cogl-bitmap</FILE>
|
|
<TITLE>Bitmaps</TITLE>
|
|
cogl_bitmap_new_from_file
|
|
cogl_bitmap_get_size_from_file
|
|
cogl_is_bitmap
|
|
CoglBitmapError
|
|
COGL_BITMAP_ERROR
|
|
</SECTION>
|
|
|
|
<SECTION>
|
|
<FILE>cogl-texture</FILE>
|
|
<TITLE>Textures</TITLE>
|
|
CoglTextureVertex
|
|
CoglTextureFlags
|
|
cogl_texture_new_with_size
|
|
cogl_texture_new_from_file
|
|
cogl_texture_new_from_data
|
|
cogl_texture_new_from_foreign
|
|
cogl_texture_new_from_bitmap
|
|
cogl_texture_new_from_sub_texture
|
|
cogl_is_texture
|
|
|
|
<SUBSECTION>
|
|
cogl_texture_get_width
|
|
cogl_texture_get_height
|
|
cogl_texture_get_format
|
|
cogl_texture_get_rowstride
|
|
cogl_texture_get_max_waste
|
|
cogl_texture_is_sliced
|
|
cogl_texture_get_gl_texture
|
|
cogl_texture_get_data
|
|
cogl_texture_set_region
|
|
|
|
<SUBSECTION Private>
|
|
COGL_TEXTURE_MAX_WASTE
|
|
</SECTION>
|
|
|
|
<SECTION>
|
|
<FILE>cogl-texture-3d</FILE>
|
|
<TITLE>3D textures</TITLE>
|
|
cogl_texture_3d_new_with_size
|
|
cogl_texture_3d_new_from_data
|
|
cogl_is_texture_3d
|
|
</SECTION>
|
|
|
|
<SECTION>
|
|
<FILE>cogl-shaders</FILE>
|
|
<TITLE>Shaders and Programmable Pipeline</TITLE>
|
|
CoglShaderType
|
|
cogl_create_shader
|
|
cogl_is_shader
|
|
cogl_shader_source
|
|
cogl_shader_compile
|
|
cogl_shader_get_info_log
|
|
cogl_shader_get_type
|
|
cogl_shader_is_compiled
|
|
|
|
<SUBSECTION>
|
|
cogl_create_program
|
|
cogl_is_program
|
|
cogl_program_attach_shader
|
|
cogl_program_link
|
|
cogl_program_get_uniform_location
|
|
cogl_program_set_uniform_1f
|
|
cogl_program_set_uniform_1i
|
|
cogl_program_set_uniform_float
|
|
cogl_program_set_uniform_int
|
|
cogl_program_set_uniform_matrix
|
|
</SECTION>
|
|
|
|
<SECTION>
|
|
<FILE>cogl-offscreen</FILE>
|
|
<TITLE>Offscreen Buffers</TITLE>
|
|
cogl_offscreen_new_to_texture
|
|
cogl_is_offscreen
|
|
cogl_set_framebuffer
|
|
cogl_push_framebuffer
|
|
cogl_pop_framebuffer
|
|
cogl_set_draw_buffer
|
|
cogl_pop_draw_buffer
|
|
cogl_push_draw_buffer
|
|
</SECTION>
|
|
|
|
<SECTION>
|
|
<FILE>cogl-fixed</FILE>
|
|
<TITLE>Fixed Point API</TITLE>
|
|
CoglFixed
|
|
COGL_FIXED_BITS
|
|
COGL_FIXED_Q
|
|
COGL_FIXED_MAX
|
|
COGL_FIXED_MIN
|
|
|
|
<SUBSECTION>
|
|
COGL_FIXED_FROM_FLOAT
|
|
COGL_FIXED_TO_FLOAT
|
|
COGL_FIXED_FROM_INT
|
|
COGL_FIXED_TO_INT
|
|
COGL_FIXED_FROM_DOUBLE
|
|
COGL_FIXED_TO_DOUBLE
|
|
COGL_FLOAT_TO_INT
|
|
COGL_FLOAT_TO_UINT
|
|
|
|
<SUBSECTION>
|
|
COGL_FIXED_EPSILON
|
|
COGL_FIXED_1
|
|
COGL_FIXED_0_5
|
|
COGL_FIXED_30
|
|
COGL_FIXED_45
|
|
COGL_FIXED_60
|
|
COGL_FIXED_90
|
|
COGL_FIXED_120
|
|
COGL_FIXED_180
|
|
COGL_FIXED_240
|
|
COGL_FIXED_255
|
|
COGL_FIXED_270
|
|
COGL_FIXED_360
|
|
|
|
<SUBSECTION>
|
|
COGL_FIXED_MUL
|
|
COGL_FIXED_DIV
|
|
COGL_FIXED_MUL_DIV
|
|
COGL_FIXED_FAST_DIV
|
|
COGL_FIXED_FAST_MUL
|
|
COGL_FIXED_FRACTION
|
|
COGL_FIXED_FLOOR
|
|
COGL_FIXED_CEIL
|
|
|
|
<SUBSECTION>
|
|
COGL_FIXED_2_PI
|
|
COGL_FIXED_PI
|
|
COGL_FIXED_PI_2
|
|
COGL_FIXED_PI_4
|
|
COGL_RADIANS_TO_DEGREES
|
|
|
|
<SUBSECTION>
|
|
COGL_SQRTI_ARG_10_PERCENT
|
|
COGL_SQRTI_ARG_5_PERCENT
|
|
COGL_SQRTI_ARG_MAX
|
|
cogl_sqrti
|
|
|
|
<SUBSECTION>
|
|
cogl_fixed_atan2
|
|
cogl_fixed_atan
|
|
cogl_fixed_cos
|
|
cogl_fixed_log2
|
|
cogl_fixed_pow
|
|
cogl_fixed_pow2
|
|
cogl_fixed_sin
|
|
cogl_fixed_sqrt
|
|
cogl_fixed_tan
|
|
|
|
<SUBSECTION>
|
|
CoglAngle
|
|
COGL_ANGLE_FROM_DEG
|
|
COGL_ANGLE_FROM_DEGX
|
|
COGL_ANGLE_TO_DEG
|
|
COGL_ANGLE_TO_DEGX
|
|
cogl_angle_cos
|
|
cogl_angle_sin
|
|
cogl_angle_tan
|
|
|
|
<SUBSECTION Private>
|
|
cogl_double_to_fixed
|
|
cogl_double_to_int
|
|
cogl_double_to_unit
|
|
</SECTION>
|
|
|
|
<SECTION>
|
|
<FILE>cogl-color</FILE>
|
|
<TITLE>Color Type</TITLE>
|
|
CoglColor
|
|
cogl_color_new
|
|
cogl_color_copy
|
|
cogl_color_free
|
|
cogl_color_set_from_4ub
|
|
cogl_color_set_from_4f
|
|
|
|
<SUBSECTION>
|
|
cogl_color_get_red
|
|
cogl_color_get_green
|
|
cogl_color_get_blue
|
|
cogl_color_get_alpha
|
|
|
|
<SUBSECTION>
|
|
cogl_color_get_red_byte
|
|
cogl_color_get_green_byte
|
|
cogl_color_get_blue_byte
|
|
cogl_color_get_alpha_byte
|
|
|
|
<SUBSECTION>
|
|
cogl_color_get_red_float
|
|
cogl_color_get_green_float
|
|
cogl_color_get_blue_float
|
|
cogl_color_get_alpha_float
|
|
|
|
<SUBSECTION>
|
|
cogl_color_set_red
|
|
cogl_color_set_green
|
|
cogl_color_set_blue
|
|
cogl_color_set_alpha
|
|
|
|
<SUBSECTION>
|
|
cogl_color_set_red_byte
|
|
cogl_color_set_green_byte
|
|
cogl_color_set_blue_byte
|
|
cogl_color_set_alpha_byte
|
|
|
|
<SUBSECTION>
|
|
cogl_color_set_red_float
|
|
cogl_color_set_green_float
|
|
cogl_color_set_blue_float
|
|
cogl_color_set_alpha_float
|
|
|
|
<SUBSECTION>
|
|
cogl_color_premultiply
|
|
cogl_color_unpremultiply
|
|
cogl_color_equal
|
|
</SECTION>
|
|
|
|
<SECTION>
|
|
<FILE>cogl-vertex-buffer</FILE>
|
|
<TITLE>Vertex Buffers</TITLE>
|
|
cogl_vertex_buffer_new
|
|
cogl_vertex_buffer_get_n_vertices
|
|
cogl_vertex_buffer_add
|
|
cogl_vertex_buffer_delete
|
|
cogl_vertex_buffer_submit
|
|
cogl_vertex_buffer_disable
|
|
cogl_vertex_buffer_enable
|
|
CoglVerticesMode
|
|
cogl_vertex_buffer_draw
|
|
cogl_is_vertex_buffer
|
|
|
|
<SUBSECTION>
|
|
CoglIndicesType
|
|
cogl_vertex_buffer_indices_new
|
|
cogl_vertex_buffer_draw_elements
|
|
cogl_vertex_buffer_indices_get_for_quads
|
|
cogl_is_vertex_buffer_indices
|
|
|
|
<SUBSECTION Private>
|
|
cogl_vertex_buffer_indices_get_type
|
|
</SECTION>
|
|
|
|
<SECTION>
|
|
<FILE>cogl-matrix</FILE>
|
|
<TITLE>Matrices</TITLE>
|
|
CoglMatrix
|
|
cogl_matrix_init_identity
|
|
cogl_matrix_frustum
|
|
cogl_matrix_ortho
|
|
cogl_matrix_perspective
|
|
cogl_matrix_multiply
|
|
cogl_matrix_rotate
|
|
cogl_matrix_translate
|
|
cogl_matrix_scale
|
|
cogl_matrix_init_from_array
|
|
cogl_matrix_get_array
|
|
cogl_matrix_get_inverse
|
|
cogl_matrix_transform_point
|
|
</SECTION>
|
|
|
|
<SECTION>
|
|
<FILE>cogl-material</FILE>
|
|
<TITLE>Materials</TITLE>
|
|
cogl_material_new
|
|
cogl_material_copy
|
|
cogl_is_material
|
|
cogl_material_set_color
|
|
cogl_material_set_color4ub
|
|
cogl_material_set_color4f
|
|
cogl_material_get_color
|
|
cogl_material_set_ambient
|
|
cogl_material_get_ambient
|
|
cogl_material_set_diffuse
|
|
cogl_material_get_diffuse
|
|
cogl_material_set_ambient_and_diffuse
|
|
cogl_material_set_emission
|
|
cogl_material_get_emission
|
|
cogl_material_set_specular
|
|
cogl_material_get_specular
|
|
cogl_material_set_shininess
|
|
cogl_material_get_shininess
|
|
CoglMaterialAlphaFunc
|
|
cogl_material_set_alpha_test_function
|
|
COGL_BLEND_STRING_ERROR
|
|
CoglBlendStringError
|
|
cogl_material_set_blend
|
|
cogl_material_set_blend_constant
|
|
cogl_material_set_point_size
|
|
cogl_material_get_point_size
|
|
cogl_material_set_layer
|
|
cogl_material_remove_layer
|
|
cogl_material_set_layer_combine
|
|
cogl_material_set_layer_combine_constant
|
|
cogl_material_set_layer_matrix
|
|
cogl_material_set_layer_point_sprite_coords_enabled
|
|
cogl_material_get_layer_point_sprite_coords_enabled
|
|
cogl_material_get_n_layers
|
|
CoglMaterialFilter
|
|
cogl_material_set_layer_filters
|
|
CoglMaterialLayerType
|
|
cogl_material_layer_get_type
|
|
cogl_material_layer_get_texture
|
|
cogl_material_layer_get_min_filter
|
|
cogl_material_layer_get_mag_filter
|
|
CoglMaterialWrapMode
|
|
cogl_material_set_layer_wrap_mode
|
|
cogl_material_set_layer_wrap_mode_s
|
|
cogl_material_set_layer_wrap_mode_t
|
|
cogl_material_set_layer_wrap_mode_p
|
|
cogl_material_layer_get_wrap_mode_s
|
|
cogl_material_layer_get_wrap_mode_t
|
|
cogl_material_layer_get_wrap_mode_p
|
|
<SUBSECTION Private>
|
|
cogl_blend_string_error_get_type
|
|
cogl_blend_string_error_quark
|
|
</SECTION>
|
|
|
|
<SECTION>
|
|
<FILE>cogl-buffer</FILE>
|
|
<TITLE>Buffers</TITLE>
|
|
cogl_is_buffer
|
|
cogl_buffer_get_size
|
|
CoglBufferUsageHint
|
|
cogl_buffer_set_usage_hint
|
|
cogl_buffer_get_usage_hint
|
|
CoglBufferUpdateHint
|
|
cogl_buffer_set_update_hint
|
|
cogl_buffer_get_update_hint
|
|
CoglBufferAccess
|
|
cogl_buffer_map
|
|
cogl_buffer_unmap
|
|
cogl_buffer_set_data
|
|
|
|
<SUBSECTION>
|
|
cogl_pixel_buffer_new
|
|
cogl_pixel_buffer_new_for_size
|
|
cogl_is_pixel_buffer
|
|
|
|
<SUBSECTION>
|
|
cogl_texture_new_from_buffer
|
|
|
|
<SUBSECTION Private>
|
|
cogl_buffer_access_get_type
|
|
cogl_buffer_update_hint_get_type
|
|
cogl_buffer_usage_hint_get_type
|
|
</SECTION>
|
|
|
|
<SECTION>
|
|
<FILE>cogl-vector</FILE>
|
|
<TITLE>Vectors</TITLE>
|
|
cogl_vector3_init
|
|
cogl_vector3_init_zero
|
|
cogl_vector3_equal
|
|
cogl_vector3_equal_with_epsilon
|
|
cogl_vector3_copy
|
|
cogl_vector3_free
|
|
cogl_vector3_invert
|
|
cogl_vector3_add
|
|
cogl_vector3_subtract
|
|
cogl_vector3_multiply_scalar
|
|
cogl_vector3_divide_scalar
|
|
cogl_vector3_normalize
|
|
cogl_vector3_magnitude
|
|
cogl_vector3_cross_product
|
|
cogl_vector3_dot_product
|
|
cogl_vector3_distance
|
|
</SECTION>
|
|
|
|
<SECTION>
|
|
<FILE>cogl-deprecated</FILE>
|
|
<TITLE>General API (Deprecated)</TITLE>
|
|
cogl_check_extension
|
|
cogl_viewport
|
|
|
|
cogl_get_bitmasks
|
|
|
|
cogl_set_depth_test_enabled
|
|
cogl_get_depth_test_enabled
|
|
</SECTION>
|
|
|
|
<SECTION>
|
|
<FILE>cogl-clipping-deprecated</FILE>
|
|
<TITLE>Clipping (Deprecated)</TITLE>
|
|
cogl_clip_push
|
|
cogl_clip_push_window_rect
|
|
cogl_clip_ensure
|
|
cogl_clip_stack_save
|
|
cogl_clip_stack_restore
|
|
</SECTION>
|
|
|
|
<SECTION>
|
|
<FILE>cogl-texture-deprecated</FILE>
|
|
<TITLE>Textures (Deprecated)</TITLE>
|
|
cogl_texture_ref
|
|
cogl_texture_unref
|
|
</SECTION>
|
|
|
|
<SECTION>
|
|
<FILE>cogl-material-deprecated</FILE>
|
|
<TITLE>Materials (Deprecated)</TITLE>
|
|
cogl_material_ref
|
|
cogl_material_unref
|
|
cogl_material_get_layers
|
|
</SECTION>
|
|
|
|
<SECTION>
|
|
<FILE>cogl-vertex-buffer-deprecated</FILE>
|
|
<TITLE>Vertex Buffers (Deprecated)</TITLE>
|
|
cogl_vertex_buffer_ref
|
|
cogl_vertex_buffer_unref
|
|
</SECTION>
|
|
|
|
<SECTION>
|
|
<FILE>cogl-shaders-deprecated</FILE>
|
|
<TITLE>Shaders and Programmable Pipeline (Deprecated)</TITLE>
|
|
cogl_shader_ref
|
|
cogl_shader_unref
|
|
|
|
<SUBSECTION>
|
|
cogl_program_ref
|
|
cogl_program_unref
|
|
cogl_program_use
|
|
cogl_program_uniform_1f
|
|
cogl_program_uniform_1i
|
|
cogl_program_uniform_float
|
|
cogl_program_uniform_int
|
|
cogl_program_uniform_matrix
|
|
</SECTION>
|
|
|
|
<SECTION>
|
|
<FILE>cogl-offscreen-deprecated</FILE>
|
|
<TITLE>Offscreen Buffers (Deprecated)</TITLE>
|
|
cogl_offscreen_ref
|
|
cogl_offscreen_unref
|
|
</SECTION>
|