/************* UN-TWEAKABLES **************/

float4x4 WorldITXf : WorldInverseTranspose	< string UIWidget="None"; >;
float4x4 WvpXf     : WorldViewProjection	< string UIWidget="None"; >;
float4x4 WorldXf   : World					< string UIWidget="None"; >;
float4x4 ViewIXf   : ViewInverse			< string UIWidget="None"; >;

struct C3E2v_Output {
  float4 position : POSITION;
  float3 normal   : COLOR;
  float2 texCoord : TEXCOORD0;
};

C3E2v_Output Throbbing(float3 position : POSITION,
                           float3 normal   : COLOR,
                           float2 texCoord : TEXCOORD0,
						   uniform float elapsedTime : TIME,
						   uniform float currentTime : TIME
						   )
{
  C3E2v_Output OUT;
  
  float minScale = 1.0f;
  float scaleRange = 0.1f;
  float normalizedValue = (sin(currentTime * 8) + 1.0f) / 2.0f;
  float scale = minScale + scaleRange * normalizedValue;
  
  float4 modelPos = float4(position.xyz * scale, 1);
  
  OUT.position = mul(modelPos, WvpXf);
  OUT.texCoord = texCoord;
  return OUT;	
}

