Class: Clutter::Shader

Inherits:
Object
  • Object
show all
Defined in:
(unknown)

Overview

The Clutter::ShaderClass structure contains only private data

Instance Method Summary collapse

Constructor Details

#initialize ⇒ Clutter::Shader

Create a new Clutter::Shader instance.

Instance Method Details

#cogl_fragment_shader ⇒ Cogl::Handle

Retrieves the underlying Cogl::Handle for the fragment shader.

Returns:

  • (Cogl::Handle) —

    A Cogl::Handle for the fragment
    shader, or nil. The handle is owned by the Clutter::Shader
    and it should not be unreferenced

#cogl_program ⇒ Cogl::Handle

Retrieves the underlying Cogl::Handle for the shader program.

Returns:

  • (Cogl::Handle) —

    A Cogl::Handle for the shader program,
    or nil. The handle is owned by the Clutter::Shader and it should
    not be unreferenced

#cogl_vertex_shader ⇒ Cogl::Handle

Retrieves the underlying Cogl::Handle for the vertex shader.

Returns:

  • (Cogl::Handle) —

    A Cogl::Handle for the vertex
    shader, or nil. The handle is owned by the Clutter::Shader
    and it should not be unreferenced

#compile ⇒ Boolean

Compiles and links GLSL sources set for vertex and fragment shaders for
a Clutter::Shader. If the compilation fails and a #GError return location is
provided the error will contain the errors from the compiler, if any.

Returns:

  • (Boolean) —

    returns TRUE if the shader was succesfully compiled.

#compiled=(compiled) ⇒ Boolean

Whether the shader is compiled and linked, ready for use
in the GL context.

Parameters:

  • compiled (Boolean)

Returns:

  • (Boolean) —

    compiled

  • (Boolean) —

    compiled

#compiled? ⇒ Boolean

Whether the shader is compiled and linked, ready for use
in the GL context.

Returns:

  • (Boolean) —

    compiled

#enabled=(enabled) ⇒ Boolean

Whether the shader is currently used in the GL rendering pipeline.

Parameters:

  • enabled (Boolean)

Returns:

  • (Boolean) —

    enabled

  • (Boolean) —

    enabled

#enabled? ⇒ Boolean

Whether the shader is currently used in the GL rendering pipeline.

Returns:

  • (Boolean) —

    enabled

#fragment_source ⇒ String

GLSL source code for the fragment shader part of the shader program.

Returns:

  • (String) —

    fragment-source

#fragment_source=(fragment_source) ⇒ String

GLSL source code for the fragment shader part of the shader program.

Parameters:

  • fragment_source (String)

Returns:

  • (String) —

    fragment-source

  • (String) —

    fragment-source

#is_compiled ⇒ Boolean

Checks whether shader is is currently compiled, linked and bound
to the GL context.

Returns:

  • (Boolean) —

    true if the shader is compiled, linked and ready for use.

#is_enabled ⇒ Boolean

Checks whether shader is enabled.

Returns:

  • (Boolean) —

    true if the shader is enabled.

#is_enabled=(enabled) ⇒ nil

Enables a shader. This function will attempt to compile and link
the shader, if it isn't already.

When enabled is false the default state of the GL pipeline will be
used instead.

Parameters:

  • enabled (Boolean) —

    The new state of the shader.

Returns:

  • (nil)

#release ⇒ nil

Frees up any GL context resources held by the shader.

Returns:

  • (nil)

#set_fragment_source(data, length) ⇒ nil

Sets the GLSL source code to be used by a Clutter::Shader for the fragment
program.

Parameters:

  • data (String) —

    GLSL source code.

  • length (Clutter::gssize) —

    length of source buffer (currently ignored)

Returns:

  • (nil)

#set_uniform(name, value) ⇒ nil

Sets a user configurable variable in the GLSL shader programs attached to
a Clutter::Shader.

Parameters:

  • name (String) —

    name of uniform in GLSL shader program to set.

  • value (GObject::Value) —

    a Clutter::ShaderFloat, #ClutterShaderInt or #ClutterShaderMatrix
    #GValue.

Returns:

  • (nil)

#set_vertex_source(data, length) ⇒ nil

Sets the GLSL source code to be used by a Clutter::Shader for the vertex
program.

Parameters:

  • data (String) —

    GLSL source code.

  • length (Clutter::gssize) —

    length of source buffer (currently ignored)

Returns:

  • (nil)

#vertex_source ⇒ String

GLSL source code for the vertex shader part of the shader
program, if any

Returns:

  • (String) —

    vertex-source

#vertex_source=(vertex_source) ⇒ String

GLSL source code for the vertex shader part of the shader
program, if any

Parameters:

  • vertex_source (String)

Returns:

  • (String) —

    vertex-source

  • (String) —

    vertex-source