set_layer_combine
Description:
If not already familiar; you can refer here for an overview of what blend strings are and there syntax.
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
- Use the color from the constant given with
- 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])
You can't give a multiplication factor for arguments as you can with blending.
Parameters:
this |
A |
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:
|