#define LIGHT_GUARDIAN

#ifndef MGML_GPU_GUARDIAN
  #include "MGML_GPU.h"
#endif

namespace RAYTR
{
  struct PointLight
  {

#ifndef __CUDACC__
    universal_call PointLight()
    {
      intensity = 1.0f;
      color = make_float3(1,1,1);
      kc = 1.0;
      kl = 0.01;
      kq = 0.005;
    }
    universal_call ~PointLight(){}
#endif

    universal_call float GetAverageAmbientLevel() const {return 0.15f;}
    universal_call float GetAverageDiffuseLevel() const {return 0.80f;}
    universal_call float GetAverageSpecularLevel() const {return 1.0f;}

    float3 color;
    float intensity;
    float kc, kl, kq;
    float3 pos;
    

  };
}