A lighting device for providing a colour gradient light effect, comprising: an array of light emitting pixels, each pixel having a controllable light output colour and an associated location within the array; and a controller configured to: receive two or more light output colours; form from the light output colours a pattern of colour points comprising two end points (26, 28) and at least one intermediate point; generate a colour gradient pattern based on the pattern of colour points by interpolating further light output colours (40, 42) to populate regions of the gradient pattern in-between the colour points; and map output colours of at least a portion of the colour gradient pattern to pixels within the array, and control said pixels in accordance with the mapped output colours to thereby generate the colour gradient light effect across the array; wherein the controller is further configured to receive pattern configuration information comprising one or more constraints, and wherein the pattern of colour points and/or the colour gradient pattern is generated based on said constraints, and wherein the controller is configured to control the array of light emitting pixels to provide a dynamic colour gradient light effect by recurrently: receiving updated colour position information and/or light output colours; altering the pattern of colour points accordingly; regenerating the colour gradient pattern based on the altered pattern of colour points; and mapping output colours of the regenerated colour gradient pattern to the array of light emitting pixels. an array of light emitting pixels, each pixel having a controllable light output colour and an associated location within the array; and a controller configured to: receive two or more light output colours; form from the light output colours a pattern of colour points comprising two end points (26, 28) and at least one intermediate point; generate a colour gradient pattern based on the pattern of colour points by interpolating further light output colours (40, 42) to populate regions of the gradient pattern in-between the colour points; and map output colours of at least a portion of the colour gradient pattern to pixels within the array, and control said pixels in accordance with the mapped output colours to thereby generate the colour gradient light effect across the array; receive two or more light output colours; form from the light output colours a pattern of colour points comprising two end points (26, 28) and at least one intermediate point; generate a colour gradient pattern based on the pattern of colour points by interpolating further light output colours (40, 42) to populate regions of the gradient pattern in-between the colour points; and map output colours of at least a portion of the colour gradient pattern to pixels within the array, and control said pixels in accordance with the mapped output colours to thereby generate the colour gradient light effect across the array; wherein the controller is further configured to receive pattern configuration information comprising one or more constraints, and wherein the pattern of colour points and/or the colour gradient pattern is generated based on said constraints, and receiving updated colour position information and/or light output colours; altering the pattern of colour points accordingly; regenerating the colour gradient pattern based on the altered pattern of colour points; and mapping output colours of the regenerated colour gradient pattern to the array of light emitting pixels.