33 #ifndef ICL_HAVE_OPENGL 35 #pragma WARNING("this header must not be included if ICL_HAVE_OPENGL is not defined") 37 #warning "this header must not be included if ICL_HAVE_OPENGL is not defined" 57 class SceneLightObject;
76 void setupGL(
const Scene &scene,
const Camera &cam)
const;
78 void updatePositions(
const Scene &scene,
const Camera &cam)
const;
173 void setObjectSize(
float size);
180 void setOn(
bool on=
true);
183 void setAnchorToWorld();
194 void setCameraAnchor(
int cameraIndex=-1);
206 void setPosition(
const Vec &position);
218 void setAmbientEnabled(
bool on=
true);
221 void setDiffuseEnabled(
bool on=
true);
224 void setSpecularEnabled(
bool on=
true);
227 void setSpotDirection(
const Vec &vec=
Vec(0,0,-1,1));
230 void setSpotExponent(
float value=0);
233 void setSpotCutoff(
float value=180);
236 void setAttenuation(
float constant=1,
float linear=0,
float quadratic=0);
239 void setShadowEnabled(
bool on=
true);
242 void setProjectionEnabled(
bool on=
true);
245 void setTwoSidedEnabled(
bool on=
true);
251 bool getShadowEnabled()
const;
254 bool getProjectionEnabled()
const;
257 bool getTwoSidedEnabled()
const;
260 const Camera* getShadowCam()
const;
266 void setShadowCam(
Camera* cam);
GeomColor specular
specular light color
Definition: SceneLight.h:114
bool twoSidedOn
Definition: SceneLight.h:105
GeomColor diffuse
diffuse light color
Definition: SceneLight.h:111
undocument this line if you encounter any issues!
Definition: Any.h:37
Class interface for un-copyable classes.
Definition: Uncopyable.h:64
bool projectionOn
Definition: SceneLight.h:102
float spotExponent
defines the intensity distribution of the light
Definition: SceneLight.h:121
#define ICLGeom_API
Definition: CompatMacros.h:179
bool diffuseOn
flag whether diffuse light component is enabled
Definition: SceneLight.h:93
SceneLightObject * getLightObject()
returns the associated light object
Definition: SceneLight.h:167
int camAnchor
for camera anchor-mode
Definition: SceneLight.h:140
qt::GLImg * projectionImage
Definition: SceneLight.h:145
SceneObject * objectAnchor
for the object anchor mode
Definition: SceneLight.h:148
bool shadowOn
Definition: SceneLight.h:99
Camera class.
Definition: Camera.h:132
light's position is relative to the world
Definition: SceneLight.h:134
OpenGL Texture Map Image class.
Definition: GLImg.h:81
float spotCutoff
defines the cutoff for spot-lights
Definition: SceneLight.h:126
bool ambientOn
flag whether ambient light component is enabled
Definition: SceneLight.h:90
Scene Implementation that is used to handle a list of objects and cameras.
Definition: Scene.h:138
Vec spotDirection
direction vector for directed light (0,0,-1) at default
Definition: SceneLight.h:117
Anchor
internally used anchor mode
Definition: SceneLight.h:133
Vec4D32f Vec
Short typedef for 4D float vectors.
Definition: GeomDefs.h:87
GeomColor ambient
ambient light color
Definition: SceneLight.h:108
ICLQt_API void color(float r, float g=-1, float b=-1, float alpha=255)
sets the current color to given r,g,b,alpha value
The scene light object looks like a light bulb and represents an OpenGL light.
Definition: SceneLightObject.h:42
bool specularOn
flag whether specular light component is enabled
Definition: SceneLight.h:96
Camera * shadowCam
Shadow Camera for rendering ShadowMaps.
Definition: SceneLight.h:143
Wrapper class for OpenGL lights.
Definition: SceneLight.h:72
Vec attenuation
special factor for light attenuation
Definition: SceneLight.h:130
light's position is relative to a camera
Definition: SceneLight.h:135
bool on
flag that is used to swith off/on the light entirely
Definition: SceneLight.h:84
const int index
wrapped opengl light index
Definition: SceneLight.h:81
const SceneLightObject * getLightObject() const
returns the associated light object (const)
Definition: SceneLight.h:170
The SceneObject class defines visible objects in scenes or scene graph nodes.
Definition: SceneObject.h:140
Vec position
the light's position
Definition: SceneLight.h:87
SceneLightObject * lightObject
associated scene light Object
Definition: SceneLight.h:151