mutter/doc/reference/cogl/cogl-sections.txt
Robert Bragg 33994caa71 [cogl-material] Support string based blending and layer combine descriptions
Setting up layer combine functions and blend modes is very awkward to do
programatically.  This adds a parser for string based descriptions which are
more consise and readable.

E.g. a material layer combine function could now be given as:
  "RGBA = ADD (TEXTURE[A], PREVIOUS[RGB])"
or
  "RGB = REPLACE (PREVIOUS)"
  "A = MODULATE (PREVIOUS, TEXTURE)"

The simple syntax and grammar are only designed to expose standard fixed
function hardware, more advanced combining must be done with shaders.

This includes standalone documentation of blend strings covering the aspects
that are common to blending and texture combining, and adds documentation
with examples specific to the new cogl_material_set_blend() and
cogl_material_layer_set_combine() functions.

Note: The hope is to remove the now redundant bits of the material API
before 1.0
2009-05-28 02:43:28 +01:00

394 lines
7.5 KiB
Plaintext

<SECTION>
<FILE>cogl</FILE>
<TITLE>General API</TITLE>
COGL_INVALID_HANDLE
CoglHandle
CoglFuncPtr
COGL_PIXEL_FORMAT_24
COGL_PIXEL_FORMAT_32
COGL_A_BIT
COGL_BGR_BIT
COGL_AFIRST_BIT
COGL_PREMULT_BIT
COGL_UNORDERED_MASK
COGL_UNPREMULT_MASK
CoglPixelFormat
CoglBufferTarget
<SUBSECTION>
cogl_create_context
cogl_destroy_context
<SUBSECTION>
CoglFeatureFlags
cogl_get_features
cogl_features_available
cogl_check_extension
cogl_get_proc_address
<SUBSECTION>
cogl_perspective
cogl_frustum
cogl_setup_viewport
cogl_viewport
cogl_get_modelview_matrix
cogl_get_projection_matrix
cogl_get_viewport
<SUBSECTION>
cogl_push_matrix
cogl_pop_matrix
cogl_scale
cogl_translate
cogl_rotate
<SUBSECTION>
cogl_clear
cogl_get_bitmasks
cogl_enable_depth_test
cogl_enable_backface_culling
<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
<SUBSECTION Private>
cogl_util_next_p2
</SECTION>
<SECTION>
<FILE>cogl-clipping</FILE>
CoglClipStackState
cogl_clip_push
cogl_clip_push_from_path
cogl_clip_push_from_path_preserve
cogl_clip_pop
cogl_clip_stack_save
cogl_clip_stack_restore
cogl_clip_ensure
<SECTION>
<SECTION>
<FILE>cogl-primitives</FILE>
<TITLE>Primitives</TITLE>
<SUBSECTION>
cogl_rectangle
cogl_rectangle_with_texture_coords
cogl_rectangles_with_texture_coords
cogl_rectangle_with_multitexture_coords
cogl_polygon
<SUBSECTION>
cogl_path_new
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>
cogl_path_fill
cogl_path_fill_preserve
cogl_path_stroke
cogl_path_stroke_preserve
cogl_color
</SECTION>
<SECTION>
<FILE>cogl-bitmap</FILE>
<TITLE>Bitmaps</TITLE>
cogl_bitmap_new_from_file
cogl_bitmap_get_size_from_file
</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_is_texture
cogl_texture_ref
cogl_texture_unref
<SUBSECTION>
cogl_texture_get_width
cogl_texture_get_height
cogl_texture_get_format
cogl_texture_get_rowstride
cogl_texture_get_max_waste
cogl_texture_get_min_filter
cogl_texture_get_mag_filter
cogl_texture_is_sliced
cogl_texture_get_gl_texture
cogl_texture_get_data
cogl_texture_set_filters
cogl_texture_set_region
</SECTION>
<SECTION>
<FILE>cogl-shaders</FILE>
<TITLE>Shaders and Programmable Pipeline</TITLE>
cogl_create_shader
cogl_shader_ref
cogl_shader_unref
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_program_ref
cogl_program_unref
cogl_is_program
cogl_program_attach_shader
cogl_program_link
cogl_program_use
cogl_program_get_uniform_location
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</FILE>
<TITLE>Offscreen Buffers</TITLE>
cogl_offscreen_new_to_texture
cogl_offscreen_ref
cogl_offscreen_unref
cogl_is_offscreen
cogl_set_draw_buffer
<SUBSECTION Private>
cogl_offscreen_new_multisample
</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_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_atani
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_fixed_mul
cogl_fixed_div
cogl_fixed_mul_div
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
</SECTION>
<SECTION>
<FILE>cogl-vertex-buffer</FILE>
<TITLE>Vertex Buffers</TITLE>
cogl_vertex_buffer_new
cogl_vertex_buffer_get_n_vertices
cogl_vertex_buffer_ref
cogl_vertex_buffer_unref
cogl_vertex_buffer_add
cogl_vertex_buffer_delete
cogl_vertex_buffer_submit
cogl_vertex_buffer_disable
cogl_vertex_buffer_enable
cogl_vertex_buffer_draw
cogl_vertex_buffer_draw_elements
<SUBSECTION Private>
CoglVertexBufferAttribFlags
COGL_VERTEX_BUFFER_ATTRIB_FLAG_GL_TYPE_MASK
COGL_VERTEX_BUFFER_ATTRIB_FLAG_TYPE_MASK
</SECTION>
<SECTION>
<FILE>cogl-matrix</FILE>
<TITLE>Matrices</TITLE>
CoglMatrix
cogl_matrix_init_identity
cogl_matrix_multiply
cogl_matrix_rotate
cogl_matrix_translate
cogl_matrix_scale
cogl_matrix_init_from_array
cogl_matrix_get_array
</SECTION>
<SECTION>
<FILE>cogl-material</FILE>
<TITLE>Materials</TITLE>
cogl_material_new
cogl_material_ref
cogl_material_unref
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
<SUBSECTION Advanced Blending>
CoglMaterialAlphaFunc
cogl_material_set_alpha_test_function
CoglMaterialBlendFactor
cogl_material_set_blend_factors
cogl_material_set_blend
cogl_material_set_blend_constant
cogl_material_set_layer
cogl_material_remove_layer
CoglMaterialLayerCombineFunc
cogl_material_set_layer_combine_function
CoglMaterialLayerCombineChannels
CoglMaterialLayerCombineSrc
cogl_material_set_layer_combine_arg_src
CoglMaterialLayerCombineOp
cogl_material_set_layer_combine_arg_op
cogl_material_set_layer_combine
cogl_material_set_layer_combine_constant
cogl_material_set_layer_matrix
<SUBSECTION Private>
CoglMaterial
CoglMaterialFlags
CoglMaterialLayerPrivFlags
cogl_material_set_layer_alpha_combine
cogl_material_set_layer_rgb_combine
</SECTION>
<SECTION>
<FILE>cogl-material-internals</FILE>
<TITLE>Material Internals</TITLE>
cogl_material_get_cogl_enable_flags
CoglMaterialFlushOption
cogl_material_flush_gl_state
CoglMaterialLayer
cogl_material_get_layers
CoglMaterialLayerType
cogl_material_layer_get_type
CoglMaterialLayerFlags
cogl_material_layer_get_flags
cogl_material_layer_get_texture
cogl_material_layer_flush_gl_sampler_state
</SECTION>