---
name: "Clutter::Shader"
section: "3pm"
platform: "linux"
package: "libclutter-perl"
version: "1.002-1"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/Clutter::Shader"
---

# Clutter::Shader(3pm)

Programmable pipeline abstraction

## NAME

Clutter::Shader - Programmable pipeline abstraction

## DESCRIPTION

**Clutter::Shader** is an object providing an abstraction over the OpenGL programmable pipeline. By using Clutter::Shader instances it is possible to override the drawing pipeline by using small programs also known as "shaders".

## HIERARCHY

```
  Glib::Object
  +----Clutter::Shader
```

## METHODS

### shader = Clutter::Shader-\>new

### boolean = $shader-\>compile

May croak with a Glib::Error in $@ on failure.

### string = $shader-\>get\_fragment\_source

### $shader-\>set\_fragment\_source ($source)

- •

  `$source` (string)

### boolean = $shader-\>is\_compiled

### boolean = $shader-\>get\_is\_enabled

### $shader-\>set\_is\_enabled ($enabled)

- •

  `$enabled` (boolean)

### $shader-\>release

### string = $shader-\>get\_vertex\_source

### $shader-\>set\_vertex\_source ($source)

- •

  `$source` (string)

## PROPERTIES

- 'compiled' (boolean : readable / private)

  Whether the shader is compiled and linked

- 'enabled' (boolean : readable / writable / private)

  Whether the shader is enabled

- 'fragment-source' (string : readable / writable / private)

  Source of fragment shader

- 'vertex-source' (string : readable / writable / private)

  Source of vertex shader

## SEE ALSO

Clutter, Glib::Object

## COPYRIGHT

Copyright (C) 2006, 2007, 2008  OpenedHand Ltd

Copyright (C) 2009  Intel Corporation

This module is free software; you can redistribute it and/or modify it under the terms of either:

- •

  the GNU Lesser General Public Library version 2.1; or

- •

  the Artistic License, version 2.0.

See Clutter for the full copyright notice.
