## GstGLSLStage

GstGLSLStage — object for dealing with OpenGL shader stages

## Functions

GstGLSLStage * | gst_glsl_stage_new ()
GstGLSLStage * | gst_glsl_stage_new_default_fragment ()
GstGLSLStage * | gst_glsl_stage_new_default_vertex ()
GstGLSLStage * | gst_glsl_stage_new_with_string ()
GstGLSLStage * | gst_glsl_stage_new_with_strings ()
gboolean | gst_glsl_stage_set_strings ()
gboolean | gst_glsl_stage_compile ()
guint | gst_glsl_stage_get_handle ()
GstGLSLProfile | gst_glsl_stage_get_profile ()
guint | gst_glsl_stage_get_shader_type ()
GstGLSLVersion | gst_glsl_stage_get_version ()

## Types and Values

| GstGLSLStage
| GstGLSLStageClass

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GstObject
                ╰── GstGLSLStage

## Includes

    #include <gst/gl/gl.h>

## Description

GstGLSLStage holds and represents a single OpenGL shader stage.

## Functions

### gst_glsl_stage_new ()

    GstGLSLStage *
    gst_glsl_stage_new (GstGLContext *context,
                        guint type);

#### Parameters

context | a GstGLContext |
type | the GL enum shader stage type |

#### Returns

a new GstGLSLStage of the specified `type` .

[transfer floating]

Since: 1.8

### gst_glsl_stage_new_default_fragment ()

    GstGLSLStage *
    gst_glsl_stage_new_default_fragment (GstGLContext *context);

### gst_glsl_stage_new_default_vertex ()

    GstGLSLStage *
    gst_glsl_stage_new_default_vertex (GstGLContext *context);

### gst_glsl_stage_new_with_string ()

    GstGLSLStage *
    gst_glsl_stage_new_with_string (GstGLContext *context,
                                    guint type,
                                    GstGLSLVersion version,
                                    GstGLSLProfile profile,
                                    const gchar *str);

#### Parameters

context | a GstGLContext |
type | the GL enum shader stage type |
version | the GstGLSLVersion |
profile | the GstGLSLProfile |
str | a shader string |

#### Returns

a new GstGLSLStage of the specified `type` .

[transfer floating]

Since: 1.8

### gst_glsl_stage_new_with_strings ()

    GstGLSLStage *
    gst_glsl_stage_new_with_strings (GstGLContext *context,
                                     guint type,
                                     GstGLSLVersion version,
                                     GstGLSLProfile profile,
                                     gint n_strings,
                                     const gchar **str);

#### Parameters

context | a GstGLContext |
type | the GL enum shader stage type |
version | the GstGLSLVersion |
profile | the GstGLSLProfile |
n_strings | the number of strings in `str` |
str | an array of strings concatted together to produce a shader. | [array length=n_strings]

#### Returns

a new GstGLSLStage of the specified `type` .

[transfer floating]

Since: 1.8

### gst_glsl_stage_set_strings ()

    gboolean
    gst_glsl_stage_set_strings (GstGLSLStage *stage,
                                GstGLSLVersion version,
                                GstGLSLProfile profile,
                                gint n_strings,
                                const gchar **str);

Replaces the current shader string with `str` .

#### Parameters

stage | a GstGLSLStage |
version | a GstGLSLVersion |
profile | a GstGLSLProfile |
n_strings | number of strings in `str` |
str | a GLSL shader string. | [array length=n_strings][transfer none]

Since: 1.8

### gst_glsl_stage_compile ()

    gboolean
    gst_glsl_stage_compile (GstGLSLStage *stage,
                            GError **error);

#### Parameters

stage | a GstGLSLStage |
error | a GError to use on failure |

#### Returns

whether the compilation suceeded

Since: 1.8

### gst_glsl_stage_get_handle ()

    guint
    gst_glsl_stage_get_handle (GstGLSLStage *stage);

#### Parameters

stage | a GstGLSLStage |

#### Returns

The GL handle for this shader stage

Since: 1.8

### gst_glsl_stage_get_profile ()

    GstGLSLProfile
    gst_glsl_stage_get_profile (GstGLSLStage *stage);

#### Parameters

stage | a GstGLSLStage |

#### Returns

The GLSL profile for the current shader stage

Since: 1.8

### gst_glsl_stage_get_shader_type ()

    guint
    gst_glsl_stage_get_shader_type (GstGLSLStage *stage);

#### Parameters

stage | a GstGLSLStage |

#### Returns

The GL shader type for this shader stage

Since: 1.8

### gst_glsl_stage_get_version ()

    GstGLSLVersion
    gst_glsl_stage_get_version (GstGLSLStage *stage);

#### Parameters

stage | a GstGLSLStage |

#### Returns

The GLSL version for the current shader stage

Since: 1.8

## Types and Values

### GstGLSLStage

    typedef struct _GstGLSLStage GstGLSLStage;

Opaque GstGLSLStage struct

### GstGLSLStageClass

    typedef struct {
    } GstGLSLStageClass;

Opaque GstGLSLStageClass struct

## See Also

GstGLShader