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