mirror of
https://github.com/brl/mutter.git
synced 2025-08-02 14:44:40 +00:00
2008-11-18 Emmanuele Bassi <ebassi@linux.intel.com>
Bug 1049 - Clutter doesn't support most GLSL uniforms (patch by Chris Lord and Neil Roberts) * README: Update release notes. * clutter/Makefile.am: * clutter/clutter-shader-types.[ch]: Add GValue types for shader values. * clutter/clutter-actor.[ch]: Update the shader API to use the newly added GValue support for GLSL shader uniform setters. * clutter/clutter-shader.[ch]: Add float and integer convenience API for single value GLSL uniform setters. * clutter/cogl/cogl-shader.h: Add new uniform setters. * clutter/cogl/gl/cogl-context.c: * clutter/cogl/gl/cogl-context.h: * clutter/cogl/gl/cogl-defines.h.in: * clutter/cogl/gl/cogl-program.c: * clutter/cogl/gl/cogl.c: Update the GL implementation of COGL to handle the GLSL uniform setters. * clutter/cogl/gles/cogl-gles2-wrapper.c: * clutter/cogl/gles/cogl-gles2-wrapper.h: * clutter/cogl/gles/cogl-internal.h: * clutter/cogl/gles/cogl-program.c: Update the GLES 2.0 implementation of COGL to handle the GLSL uniform setters. * doc/reference/clutter/clutter-sections.txt: * doc/reference/cogl/cogl-sections.txt: Update the documentation. * tests/interactive/test-fbo.c: * tests/interactive/test-shader.c: Update the shader tests.
This commit is contained in:
@@ -142,10 +142,10 @@ test_fbo_main (gint argc, gchar *argv[])
|
||||
/* apply a shader to it */
|
||||
shader = make_shader();
|
||||
clutter_actor_set_shader (fbo, shader);
|
||||
clutter_actor_set_shader_param (fbo, "radius", 2.0);
|
||||
clutter_actor_set_shader_param (fbo, "x_step",
|
||||
clutter_actor_set_shader_param_float (fbo, "radius", 2.0);
|
||||
clutter_actor_set_shader_param_float (fbo, "x_step",
|
||||
1.0f / clutter_util_next_p2 (fbo_width));
|
||||
clutter_actor_set_shader_param (fbo, "y_step",
|
||||
clutter_actor_set_shader_param_float (fbo, "y_step",
|
||||
1.0f / clutter_util_next_p2 (fbo_height));
|
||||
|
||||
/* Third from cloning the fbo texture */
|
||||
|
@@ -238,9 +238,10 @@ set_shader_num (ClutterActor *actor, gint new_no)
|
||||
{
|
||||
clutter_actor_set_shader (actor, NULL);
|
||||
clutter_actor_set_shader (actor, shader);
|
||||
clutter_actor_set_shader_param (actor, "radius", 3.0);
|
||||
clutter_actor_set_shader_param (actor, "brightness", 0.4);
|
||||
clutter_actor_set_shader_param (actor, "contrast", -1.9);
|
||||
clutter_actor_set_shader_param_int (actor, "tex", 0);
|
||||
clutter_actor_set_shader_param_float (actor, "radius", 3.0);
|
||||
clutter_actor_set_shader_param_float (actor, "brightness", 0.4);
|
||||
clutter_actor_set_shader_param_float (actor, "contrast", -1.9);
|
||||
|
||||
if (CLUTTER_IS_TEXTURE (actor))
|
||||
{
|
||||
@@ -249,10 +250,10 @@ set_shader_num (ClutterActor *actor, gint new_no)
|
||||
tex_height = clutter_actor_get_height (actor);
|
||||
tex_height = clutter_util_next_p2 (tex_height);
|
||||
|
||||
clutter_actor_set_shader_param (actor, "x_step",
|
||||
1.0f / tex_width);
|
||||
clutter_actor_set_shader_param (actor, "y_step",
|
||||
1.0f / tex_height);
|
||||
clutter_actor_set_shader_param_float (actor, "x_step",
|
||||
1.0f / tex_width);
|
||||
clutter_actor_set_shader_param_float (actor, "y_step",
|
||||
1.0f / tex_height);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -376,10 +377,10 @@ test_shader_main (gint argc, gchar *argv[])
|
||||
|
||||
clutter_container_add_actor (CLUTTER_CONTAINER (stage), actor);
|
||||
|
||||
clutter_actor_set_shader_param_int (actor, "tex", 0);
|
||||
clutter_actor_set_shader_param_float (actor, "brightness", 0.4);
|
||||
clutter_actor_set_shader_param_float (actor, "contrast", -1.9);
|
||||
|
||||
clutter_actor_set_shader_param (actor, "brightness", 0.4);
|
||||
clutter_actor_set_shader_param (actor, "contrast", -1.9);
|
||||
|
||||
clutter_actor_set_reactive (actor, TRUE);
|
||||
g_signal_connect (actor, "button-release-event",
|
||||
G_CALLBACK (button_release_cb), NULL);
|
||||
|
Reference in New Issue
Block a user