set_layer_combine


Description:

public bool set_layer_combine (int layer_index, string blend_string) throws BlendStringError

If not already familiar; you can refer here for an overview of what blend strings are and there syntax.

Note:

Use cogl_pipeline_set_layer_combine instead

These are all the functions available for texture combining:

  • REPLACE(arg0) = arg0
  • MODULATE(arg0, arg1) = arg0 x arg1
  • ADD(arg0, arg1) = arg0 + arg1
  • ADD_SIGNED(arg0, arg1) = arg0 + arg1 - 0.5
  • INTERPOLATE(arg0, arg1, arg2) = arg0 x arg2 + arg1 x (1 - arg2)
  • SUBTRACT(arg0, arg1) = arg0 - arg1
  •  DOT3_RGB(arg0, arg1) = 4 x ((arg0[R] - 0.5)) * (arg1[R] - 0.5) +
    (arg0[G] - 0.5)) * (arg1[G] - 0.5) +
    (arg0[B] - 0.5)) * (arg1[B] - 0.5))
  •  DOT3_RGBA(arg0, arg1) = 4 x ((arg0[R] - 0.5)) * (arg1[R] - 0.5) +
    (arg0[G] - 0.5)) * (arg1[G] - 0.5) +
    (arg0[B] - 0.5)) * (arg1[B] - 0.5))

Refer to the color-source syntax for describing the arguments. The valid source names for texture combining are:

  • TEXTURE
    • Use the color from the current texture layer
  • TEXTURE_0, TEXTURE_1, etc
    • Use the color from the specified texture layer
  • CONSTANT
    • Use the color from the constant given with cogl_material_set_layer_constant
  • PRIMARY
    • Use the color of the material as set with set_color
  • PREVIOUS
    • Either use the texture color from the previous layer, or if this is layer 0, use the color of the material as set with set_color

Layer Combine Examples:

This is effectively what the default blending is:

  RGBA = MODULATE (PREVIOUS, TEXTURE)

This could be used to cross-fade between two images, using the alpha component of a constant as the interpolator. The constant color is given by calling cogl_material_set_layer_constant.

  RGBA = INTERPOLATE (PREVIOUS, TEXTURE, CONSTANT[A])

Note:

You can't give a multiplication factor for arguments as you can with blending.

Parameters:

this

A CoglMaterial object

layer_index

Specifies the layer you want define a combine function for

blend_string

A Cogl blend string describing the desired texture combine function.

Returns:

true if the blend string was successfully parsed, and the described texture combining is supported by the underlying driver and or hardware. On failure, false is returned and error is set