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
77class GlsGloFileAttribute;
91 DISTI_DEPRECATED(
"This identifier is forbidden by the C++ standard. Use BaseClass instead." )
94 friend class GlsLightSourceEditor;
241#define DEF_LIGHT_TYPE LIGHT_INFINITE
Definition: disti_metadata.h:87
Definition: disti_metadata.h:1005
void(containerClass::* SetMethodType)(int)
Typedef for the set method function pointer.
Definition: disti_metadata.h:1007
int(containerClass::* GetMethodType)()
Typedef for the get method function pointer.
Definition: disti_metadata.h:1008
Definition: gls_light_source.h:247
DistiAttributeLightTypeEnum(GlsLightSource *frame, SetMethodType setMethod, GetMethodType getMethod, const AttributeName &name)
Definition: dynamic_array.h:79
Definition: gls_color.h:54
Definition: gls_glo_file.h:1243
Definition: gls_light_source.h:84
GlsColor _ambient
Definition: gls_light_source.h:99
virtual DisplayObject * CloneObject(bool generateNames=false) override
virtual void SetAvailableAttributes(unsigned int value) override
float ConstantAttenuation()
float LinearAttenuation()
virtual void GetCppInterfaceDescriptionFree(InterfaceListType *array) override
float _spotExponent
Definition: gls_light_source.h:104
virtual void SetValue(int spec, va_list &args) override
float QuadraticAttenuation()
virtual void SetupLight(unsigned int light_number, GlsMatrixType *alternateModelMatrix=NULL)
float _spotCutoff
Definition: gls_light_source.h:103
float _quadraticAttenuation
Definition: gls_light_source.h:107
LightType_e _lightType
Definition: gls_light_source.h:102
virtual InterfaceListType * GetCppInterfaceDescription(InterfaceListType *addToThisList=NULL) override
virtual bool Hit(float x, float y, float z, float scale, const Vector &directionVector, Vector *collisionPoint) override
virtual void CopyProperties(DisplayObject *src) override
GlsColor _specular
Definition: gls_light_source.h:101
float _linearAttenuation
Definition: gls_light_source.h:106
GlsColor _diffuse
Definition: gls_light_source.h:100
virtual void Draw() override
void SetAmbient(const GlsColor &color)
virtual void PreDraw(const OpenGLMatrices ¤t, Culler &culler) override
void SetDiffuse(const GlsColor &color)
float _constantAttenuation
Definition: gls_light_source.h:105
void SetSpecular(const GlsColor &color)
Class to contain current OpenGL view, projection and draw matrices.
Definition: util.h:544
The disti::DisplayObject class and global enumerations.
The Color class: Implements a 4 component RGBA color.
Macros and helper code to determine what subset of C++11/14/17 is available.
#define DISTI_SPECIAL_MEM_FUN_DELETE
Macro to wrap function deletion, removed on compilers that don't support it.
Definition: gls_cpp_lang_support.h:235
#define DISTI_DEPRECATED(msg)
Defines whether this compiler supports the C++14 deprecated attribute.
Definition: gls_cpp_lang_support.h:457
#define DISTI_METHOD_OVERRIDE
Macro to wrap the override keyword, removed on compilers that don't support it.
Definition: gls_cpp_lang_support.h:214
A file for all GL Studio files to include.
#define GLS_EXPORT
Macro denoting which functions should be visible from the runtime library.
Definition: gls_include.h:52
Force inclusion of the DirectShow library.
Definition: bmpimage.h:47
GLS_LightSource_Initializers
Definition: gls_light_source.h:63
LightType_e
Definition: gls_light_source.h:54