# Interface Shader

public interface Shader
Defines an object which can modify an sRGB colour as defined by a scalar parameter.

Since:
  5 Jun 2007
Author:
  Mark Taylor

## Method Summary

Modifier and Type
Method
Description
`void`
`adjustRgba(float[] rgba, float value)`
Modifies the elements of an sRGB colour definition array in place according to a supplied parameter.
`String`
`getName()`
Returns a name for this shader.
`boolean`
`isAbsolute()`
Indicates whether the shading performed by this shader is dependent on the input colour or not.

## Method Details

### adjustRgba

void adjustRgba(float[] rgba, float value)
Modifies the elements of an sRGB colour definition array in place according to a supplied parameter. The supplied `rgba` array has 4-elements giving red, green blue, alpha values respetively, each element in the range 0 to 1. The `value` parameter is a value in the range 0 to 1 which parameterises how the `rgba` array is to be modified.

Parameters:
  `rgba` - 4-element (red,green,blue,alpha) array
  `value` - adjustment parameter in the range 0..1

### isAbsolute

boolean isAbsolute()
Indicates whether the shading performed by this shader is dependent on the input colour or not.

Returns:
  true if `adjustRgba(float[], float)` depends on the input colour

### getName

String getName()
Returns a name for this shader.

Returns:
  short human-readable label