Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00031
00032 #pragma once
00033
00034 #include "api_gl1.h"
00035 #include "../Core/System/sharedptr.h"
00036 #include "../Core/Math/vec3.h"
00037
00038 class CL_Colorf;
00039 class CL_LightSource_GL1_Impl;
00040
00044 class CL_API_GL1 CL_LightSource_GL1
00045 {
00047 public:
00049 CL_LightSource_GL1();
00050
00051 ~CL_LightSource_GL1();
00052
00054 public:
00058 float get_spot_exponent() const;
00059
00062 float get_spot_cutoff() const;
00063
00066 float get_constant_attenuation() const;
00067
00070 float get_linear_attenuation() const;
00071
00074 float get_quadratic_attenuation() const;
00075
00077 CL_Colorf get_ambient_intensity() const;
00078
00080 CL_Colorf get_diffuse_intensity() const;
00081
00083 CL_Colorf get_specular_intensity() const;
00084
00086 CL_Vec4f get_position() const;
00087
00089 CL_Vec4f get_spot_direction() const;
00090
00092 public:
00096 void set_spot_exponent(float spot_exponent);
00097
00100 void set_spot_cutoff(float spot_cutoff);
00101
00104 void set_constant_attenuation(float constant_attenuation);
00105
00108 void set_linear_attenuation(float linear_attenuation);
00109
00112 void set_quadratic_attenuation(float quadratic_attenuation);
00113
00115 void set_ambient_intensity(const CL_Colorf &color);
00116
00118 void set_diffuse_intensity(const CL_Colorf &color);
00119
00121 void set_specular_intensity(const CL_Colorf &color);
00122
00133 void set_position(const CL_Vec4f &position);
00134
00136 void set_spot_direction(const CL_Vec3f &spot_direction);
00137
00139 private:
00140 CL_SharedPtr<CL_LightSource_GL1_Impl> impl;
00141 };
00142