/**
 * Copyright (C) 2013 Stellar Jockeys.
 * All Rights Reserved.
 *
 * NOTICE: All information contained herein is, and remains the property of
 * Stellar Jockeys and its suppliers, if any.  The intellectual and technical
 * concepts contained herein are proprietary to Stellar Jockeys and its suppliers.
 * Dissemination of this information or reproduction of this material is
 * strictly forbidden unless prior written permission is obtained from
 * Stellar Jockeys.
 *
 * @file vertlightpoint.glsl
 * @date 07/25/13
 */
#ifndef VERTLIGHTPOINT_GLSL
#define VERTLIGHTPOINT_GLSL

// view space
attribute vec3 aLightPosition;
attribute float aLightRadius;
attribute vec4 aLightColor;
attribute vec3 aLightDirection;
attribute float aLightWidth;

// normalized device coordinates
attribute vec2 aVertex;

attribute float aRadialFalloff;
attribute float aConicalFalloff;
attribute float aVolumetricIntensity;
attribute float aVolumetricRadialFalloff;
attribute float aVolumetricConicalFalloff;

// view space
varying vec3 vLightPosition;
varying float vLightRadius;
varying vec4 vLightColor;
varying vec3 vLightDirection;
varying float vLightWidth;

// normalized device coordinates
varying vec2 vScreenPosition;

varying float vRadialFalloff;
varying float vConicalFalloff;
varying float vVolumetricIntensity;
varying float vVolumetricRadialFalloff;
varying float vVolumetricConicalFalloff;

void main()
{
    vLightPosition = aLightPosition;
    vLightRadius = aLightRadius;
    vLightColor = aLightColor;
    vLightDirection = aLightDirection;
    vLightWidth = aLightWidth;
    vScreenPosition = aVertex;

    vRadialFalloff = aRadialFalloff;
    vConicalFalloff = aConicalFalloff;
    vVolumetricIntensity = aVolumetricIntensity;
    vVolumetricRadialFalloff = aVolumetricRadialFalloff;
    vVolumetricConicalFalloff = aVolumetricConicalFalloff;

    gl_Position = vec4(aVertex, 0.0, 1.0);
}

#endif // VERTLIGHTPOINT_GLSL
