40 #ifndef _GLS_LIGHT_SOURCE_H 
   41 #define _GLS_LIGHT_SOURCE_H 
   64     GLS_LIGHT_SOURCE_AMBIENT = GLS_LAST_INITIALIZER + 1,
 
   65     GLS_LIGHT_SOURCE_DIFFUSE,
 
   66     GLS_LIGHT_SOURCE_SPECULAR,
 
   67     GLS_LIGHT_SOURCE_SPOT_CUTOFF,
 
   68     GLS_LIGHT_SOURCE_SPOT_EXPONENT,
 
   69     GLS_LIGHT_SOURCE_CONSTANT_ATTENUATION,
 
   70     GLS_LIGHT_SOURCE_LINEAR_ATTENUATION,
 
   71     GLS_LIGHT_SOURCE_QUADRATIC_ATTENUATION,
 
   72     GLS_LIGHT_SOURCE_LIGHT_TYPE
 
   77 class GlsGloFileAttribute;
 
   91     DISTI_DEPRECATED( 
"This identifier is forbidden by the C++ standard. Use BaseClass instead." )
 
   94     friend class GlsLightSourceEditor;
 
  127     virtual GLS_EXPORT 
void Draw( 
void );
 
  233     virtual GLS_EXPORT 
bool Hit( 
float x, 
float y, 
float z, 
float scale, 
const Vector& directionVector, 
Vector* collisionPoint );
 
  236     virtual GLS_EXPORT 
void SetValue( 
int spec, va_list& args );
 
  247 #define DEF_LIGHT_TYPE LIGHT_INFINITE 
  255     virtual GLS_EXPORT ~DistiAttributeLightTypeEnum();
 
void SetSpecular(const GlsColor &color)
void SetAmbient(const GlsColor &color)
#define DISTI_DEPRECATED(msg)
Defines whether this compiler supports the C++14 deprecated attribute. 
Definition: gls_cpp_lang_support.h:436
virtual void CopyProperties(DisplayObject *src)
virtual void SetupLight(unsigned int light_number, GlsMatrixType *alternateModelMatrix=NULL)
Definition: dynamic_array.h:66
Class to contain current OpenGL view, projection and draw matrices. 
Definition: util.h:296
float _spotCutoff
Definition: gls_light_source.h:103
GlsColor _diffuse
Definition: gls_light_source.h:100
float _quadraticAttenuation
Definition: gls_light_source.h:107
virtual void SetValue(int spec, va_list &args)
virtual void GetCppInterfaceDescriptionFree(InterfaceListType *array)
float _constantAttenuation
Definition: gls_light_source.h:105
LightType_e _lightType
Definition: gls_light_source.h:102
The Color class: Implements a 4 component RGBA color. 
A file for all GL Studio files to include. 
Definition: gls_glo_file.h:982
The disti::DisplayObject class and global enumerations. 
virtual void PreDraw(const OpenGLMatrices ¤t, Culler &culler)
Definition: disti_metadata.h:891
virtual InterfaceListType * GetCppInterfaceDescription(InterfaceListType *addToThisList=NULL)
virtual DisplayObject * CloneObject(bool generateNames=false)
GlsColor _specular
Definition: gls_light_source.h:101
virtual void SetAvailableAttributes(unsigned int value)
Definition: gls_light_source.h:251
GLS_LightSource_Initializers
Definition: gls_light_source.h:62
LightType_e
Definition: gls_light_source.h:53
Definition: gls_color.h:53
float _linearAttenuation
Definition: gls_light_source.h:106
void SetDiffuse(const GlsColor &color)
GlsColor _ambient
Definition: gls_light_source.h:99
virtual bool Hit(float x, float y, float z, float scale, const Vector &directionVector, Vector *collisionPoint)
float LinearAttenuation()
float ConstantAttenuation()
Macros and helper code to determine what subset of C++11/14/17 is available. 
float _spotExponent
Definition: gls_light_source.h:104
Definition: disti_metadata.h:85
virtual ~GlsLightSource(void)
float QuadraticAttenuation()
Definition: gls_light_source.h:83
Definition: bmpimage.h:46