r3lights
real/objects/r3lights.h
r3obj
Basic class for all light source objects
r3Level
R3CLID_LEVEL
r3Lightsource
R3CLID_LIGHTSOURCE - 301
Intensity, MaterialSensitive, Falloff, CastShadow, HotPoint, FalloffRadius, Material, VolumeLighting, MapResolution, ShadowMapSupported, DiffuseOnly,
int R3RegisterLightSourceClass(R3APP *app);
R3LSM_RENDERSHADOWMAPS
RENDERSHADOWMAPS
R3LSM_RENDERSHADOWMAPS
obj.RENDERSHADOWMAPS();
Intensity
Intensity
R3LSA_Intensity
Number
R3FLOAT
intensity, 0 ...
jsobj.SetIntensity(value);
value = jsobj.GetIntensity();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3LSA_Intensity, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3LSA_Intensity, &value, R3TAG_END);
MaterialSensitive
MaterialSensitive
R3LSA_MaterialSensitive
Boolean
R3BOOL
if TRUE, mapping objects affect light source
jsobj.SetMaterialSensitive(value);
value = jsobj.GetMaterialSensitive();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3LSA_MaterialSensitive, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3LSA_MaterialSensitive, &value, R3TAG_END);
Falloff
Falloff
R3LSA_Falloff
Integer
R3INT
see falloffs below
jsobj.SetFalloff(value);
value = jsobj.GetFalloff();
R3INT value = ...;
R3SetAttrs(r3obj, R3LSA_Falloff, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3LSA_Falloff, &value, R3TAG_END);
CastShadow
CastShadow
R3LSA_CastShadow
Integer
R3INT
see shadow types below
jsobj.SetCastShadow(value);
value = jsobj.GetCastShadow();
R3INT value = ...;
R3SetAttrs(r3obj, R3LSA_CastShadow, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3LSA_CastShadow, &value, R3TAG_END);
HotPoint
HotPoint
R3LSA_HotPoint
Number
R3FLOAT
R3VECTOR or undefined, the max intensity point
value = jsobj.GetHotPoint();
R3FLOAT value;
R3GetAttrs(r3obj, R3LSA_HotPoint, &value, R3TAG_END);
FalloffRadius
FalloffRadius
R3LSA_FalloffRadius
Number
R3FLOAT
>0
jsobj.SetFalloffRadius(value);
value = jsobj.GetFalloffRadius();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3LSA_FalloffRadius, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3LSA_FalloffRadius, &value, R3TAG_END);
Material
Material
R3LSA_Material
String
char*
material
jsobj.SetMaterial(value);
value = jsobj.GetMaterial();
char* value = ...;
R3SetAttrs(r3obj, R3LSA_Material, value, R3TAG_END);
char* value;
R3GetAttrs(r3obj, R3LSA_Material, &value, R3TAG_END);
VolumeLighting
VolumeLighting
R3LSA_VolumeLighting
Boolean
R3BOOL
illuminates volume if true
jsobj.SetVolumeLighting(value);
value = jsobj.GetVolumeLighting();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3LSA_VolumeLighting, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3LSA_VolumeLighting, &value, R3TAG_END);
MapResolution
MapResolution
R3LSA_MapResolution
Integer
R3INT
accuracy of shadow maps (e.g 100 pixels)
jsobj.SetMapResolution(value);
value = jsobj.GetMapResolution();
R3INT value = ...;
R3SetAttrs(r3obj, R3LSA_MapResolution, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3LSA_MapResolution, &value, R3TAG_END);
ShadowMapSupported
ShadowMapSupported
R3LSA_ShadowMapSupported
Boolean
R3BOOL
read only, return TRUE to display base class shadowmap controls
value = jsobj.GetShadowMapSupported();
R3BOOL value;
R3GetAttrs(r3obj, R3LSA_ShadowMapSupported, &value, R3TAG_END);
DiffuseOnly
DiffuseOnly
R3LSA_DiffuseOnly
Boolean
R3BOOL
if TRUE this light causes only default diffuse shading
jsobj.SetDiffuseOnly(value);
value = jsobj.GetDiffuseOnly();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3LSA_DiffuseOnly, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3LSA_DiffuseOnly, &value, R3TAG_END);
Falloffs
Shadows
<sect6> <title>r3lsd</title>
r3lsd
real/objects/r3lsd.h
r3obj
Distant Light Class
r3Lightsource
R3CLID_LIGHTSOURCE
r3Distantlight
R3CLID_DISTANTLIGHT - 505
int R3RegisterDistantLightClass(R3APP *app);
Center
Center
R3LSDA_Center
position
jsobj.SetCenter(value);
value = jsobj.GetCenter();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3LSDA_Center, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3LSDA_Center, &value, R3TAG_END);
Ray
Ray
R3LSDA_Ray
direction
jsobj.SetRay(value);
value = jsobj.GetRay();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3LSDA_Ray, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3LSDA_Ray, &value, R3TAG_END);
CoordSys
CoordSys
R3LSDA_CoordSys
orientation
jsobj.SetCoordSys(value);
value = jsobj.GetCoordSys();
R3COORDSYS value = ...;
R3SetAttrs(r3obj, R3LSDA_CoordSys, &value, R3TAG_END);
R3COORDSYS value;
R3GetAttrs(r3obj, R3LSDA_CoordSys, &value, R3TAG_END);
attribute indexes for R3PRIMA_Points
r3appobj *
r3lsp
real/objects/r3lsp.h
r3obj
Point light source.
r3Lightsource
R3CLID_LIGHTSOURCE
r3Lightpoint
R3CLID_LIGHTPOINT - 501
int R3RegisterLightPointClass(R3APP *app);
Center
Center
R3LSPA_Center
position
jsobj.SetCenter(value);
value = jsobj.GetCenter();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3LSPA_Center, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3LSPA_Center, &value, R3TAG_END);
Ray
Ray
R3LSPA_Ray
point which defines radius for fall off
jsobj.SetRay(value);
value = jsobj.GetRay();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3LSPA_Ray, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3LSPA_Ray, &value, R3TAG_END);
Type
Type
R3LSPA_Type
Integer
R3INT
see types below
jsobj.SetType(value);
value = jsobj.GetType();
R3INT value = ...;
R3SetAttrs(r3obj, R3LSPA_Type, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3LSPA_Type, &value, R3TAG_END);
Size
Size
R3LSPA_Size
Number
R3FLOAT
radius for smooth shadows
jsobj.SetSize(value);
value = jsobj.GetSize();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3LSPA_Size, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3LSPA_Size, &value, R3TAG_END);
Quality
Quality
R3LSPA_Quality
Integer
R3INT
smooth shadow quality 0..20(..)
jsobj.SetQuality(value);
value = jsobj.GetQuality();
R3INT value = ...;
R3SetAttrs(r3obj, R3LSPA_Quality, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3LSPA_Quality, &value, R3TAG_END);
Point ligh types
</sect6><sect6> <title>r3lse</title>
r3lse
real/objects/r3lse.h
r3obj
Special Light Class. Sub-objects emit light. This light source can be used for creating area light sources which generate soft shadows.
r3Lightsource
R3CLID_LIGHTSOURCE
r3Speciallight
R3CLID_SPECIALLIGHT - 512
int R3RegisterSpecialLightClass(R3APP *app);
Quality
Quality
R3LSSPEA_Quality
Integer
R3INT
light sampling. Determines duality of soft shadows range 0 ... infinity, 10 results reasonable quality
jsobj.SetQuality(value);
value = jsobj.GetQuality();
R3INT value = ...;
R3SetAttrs(r3obj, R3LSSPEA_Quality, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3LSSPEA_Quality, &value, R3TAG_END);
r3lss
real/objects/r3lss.h
r3obj
Spot Light Class
r3Lightsource
R3CLID_LIGHTSOURCE
r3Spotlight
R3CLID_SPOTLIGHT - 509
int R3RegisterSpotLightClass(R3APP *app);
Center
Center
R3LSSA_Center
position ie. "from"
jsobj.SetCenter(value);
value = jsobj.GetCenter();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3LSSA_Center, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3LSSA_Center, &value, R3TAG_END);
Ray
Ray
R3LSSA_Ray
"to" point defining direction
jsobj.SetRay(value);
value = jsobj.GetRay();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3LSSA_Ray, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3LSSA_Ray, &value, R3TAG_END);
A1
A1
R3LSSA_A1
point defining inner cone angle
jsobj.SetA1(value);
value = jsobj.GetA1();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3LSSA_A1, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3LSSA_A1, &value, R3TAG_END);
A2
A2
R3LSSA_A2
point defining outer cone angle
jsobj.SetA2(value);
value = jsobj.GetA2();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3LSSA_A2, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3LSSA_A2, &value, R3TAG_END);
Angle1
Angle1
R3LSSA_Angle1
Number
R3FLOAT
1st cone angle (corresponding _A1)
jsobj.SetAngle1(value);
value = jsobj.GetAngle1();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3LSSA_Angle1, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3LSSA_Angle1, &value, R3TAG_END);
Angle2
Angle2
R3LSSA_Angle2
Number
R3FLOAT
2nd cone angle (corresponding _A2)
jsobj.SetAngle2(value);
value = jsobj.GetAngle2();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3LSSA_Angle2, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3LSSA_Angle2, &value, R3TAG_END);
Size
Size
R3LSSA_Size
Number
R3FLOAT
size for soft shadows
jsobj.SetSize(value);
value = jsobj.GetSize();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3LSSA_Size, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3LSSA_Size, &value, R3TAG_END);
Quality
Quality
R3LSSA_Quality
Integer
R3INT
quality for soft shadow sampling
jsobj.SetQuality(value);
value = jsobj.GetQuality();
R3INT value = ...;
R3SetAttrs(r3obj, R3LSSA_Quality, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3LSSA_Quality, &value, R3TAG_END);
attribute indexes to R3PRIMA_Points
r3appobj *