12 #ifndef BEASTLIGHTSOURCE_H
13 #define BEASTLIGHTSOURCE_H
459 float penumbraAngleRadians,
460 float penumbraExponent);
483 float indirectScale);
493 ILBLightStatsMask stats,
664 int32* shadowSamples);
734 float* indirectScale);
746 ILBLightStatsMask stats,
747 ILBLightStatsMask* result);
768 float* penumbraAngleRadians,
769 float* penumbraExponent);
855 #endif // __cplusplus
858 #endif // BEASTLIGHTSOURCE_H
ILBStatus ILBSetLightIntensity(ILBLightHandle light, float intensity)
Sets light intensity for a light source.
ILBStatus ILBGetSkyLightTextureFilter(ILBLightHandle light, float *filter)
Gets texture filter size from a sky light.
ILBStatus ILBSetSpotlightCone(ILBLightHandle light, float angleRadians, float penumbraAngleRadians, float penumbraExponent)
Sets the cone angle for a spotlight.
ILBStatus ILBSetSkyLightVolumeType(ILBLightHandle light, ILBLightVolumeType type)
Sets light volume type for a sky light.
ILBStatus ILBGetLightFalloffType(ILBLightHandle light, ILBFalloffType *type)
Returns the falloff type from a light source.
This header is the base for getting platform consistent types for the Beast API.
ILBStatus ILBCreateWindowLight(ILBSceneHandle scene, ILBConstString name, const ILBMatrix4x4 *transform, const ILBLinearRGB *intensity, ILBLightHandle *light)
Add a window light to the scene It points in negative Y direction by default, use the matrix to chang...
ILBStatus ILBCreatePointLight(ILBSceneHandle scene, ILBConstString name, const ILBMatrix4x4 *transform, const ILBLinearRGB *intensity, ILBLightHandle *light)
Add a point light to the scene.
Computes falloff as (max((maxRange - distance), 0) / maxRange) ^ exponent .
Definition: beastlightsource.h:75
const ILBCharType * ILBConstString
Beast api const string type.
Definition: beastapitypes.h:245
ILBStatus ILBGetClippingPlanes(ILBLightHandle light, float *nearDistance, float *farDistance)
Gets distance to spotlight clipping planes.
ILBStatus ILBSetLightExponentFalloff(ILBLightHandle light, float cutoff, float exponent, ILBBool clampToOne)
Sets the falloff to type "Exponent" for a light source.
ILBStatus ILBAddLightLightLinks(ILBLightHandle light, ILBLightLinkMode mode, const ILBInstanceHandle *instances, int32 count)
Adds a light centric light link list.
ILBStatus ILBGetLightDisplayName(ILBLightHandle light, ILBStringHandle *displayName)
Gets the display name of a light source.
ILBStatus ILBSetShadowAngle(ILBLightHandle light, float angleRadians)
Sets the angle covered of the sky for a directional light or window light for shadow casting purposes...
Sky light.
Definition: beastlightsource.h:53
ILBStatus ILBSetLightVolumeType(ILBLightHandle light, ILBLightVolumeType type)
Sets light volume type for a light source.
ILBStatus ILBGetShadowRadius(ILBLightHandle light, float *radius)
Gets a radius for the light source as a shadow caster.
ILBStatus ILBSetLightProjectedTexture(ILBLightHandle light, ILBTextureHandle texture)
Sets a projected texture for a light source (gobo).
OpenGL-type fall off.
Definition: beastlightsource.h:80
ILBStatus ILBGetLightName(ILBLightHandle light, ILBStringHandle *name)
Gets the name of a light source.
Spot light.
Definition: beastlightsource.h:43
ILBStatus ILBGetLightType(ILBLightHandle light, ILBLightType *type)
Gets the type of a light source.
ILBStatus ILBCreateSpotLight(ILBSceneHandle scene, ILBConstString name, const ILBMatrix4x4 *transform, const ILBLinearRGB *intensity, ILBLightHandle *light)
Add a spot light to the scene.
ILBStatus ILBGetLightIntensity(ILBLightHandle light, float *intensity)
Gets light intensity for a light source.
Directional light.
Definition: beastlightsource.h:28
Sets the light stats supplied to false.
Definition: beastlightsource.h:137
ILBStatus ILBGetLightTransform(ILBLightHandle light, ILBMatrix4x4 *transform)
Gets the transform of a light source.
ILBStatus ILBCreateAreaLight(ILBSceneHandle scene, ILBConstString name, const ILBMatrix4x4 *transform, const ILBLinearRGB *intensity, ILBLightHandle *light)
Add an area light to the scene It points in negative Y direction by default, use the matrix to change...
Sets the light stats to the value of the light mask.
Definition: beastlightsource.h:145
ILBStatus ILBGetSkyLightVolumeType(ILBLightHandle light, ILBLightVolumeType *type)
Gets light volume type for a sky light.
ILBLightType
Describes light types.
Definition: beastlightsource.h:24
Matrix for transformations.
Definition: beastapitypes.h:383
A sphere volume.
Definition: beastlightsource.h:96
ILBStatus ILBGetLightExponentFalloff(ILBLightHandle light, float *cutoff, float *exponent, ILBBool *clamp)
Returns the falloff parameters from a light source with Exponent falloff.
ILBLightVolumeType
Describes different light volumes for light sources.
Definition: beastlightsource.h:87
ILBStatus ILBGetLightColor(ILBLightHandle light, ILBLinearRGB *color)
Gets the color of a light source.
Computes falloff as (1.0f / distance) ^ exponent Note that an exponent of 0 gives no falloff...
Definition: beastlightsource.h:70
Handle for Beast instance Intentionally hidden implementation.
Definition: beastapitypes.h:422
ILBStatus ILBSetClippingPlanes(ILBLightHandle light, float nearDistance, float farDistance)
Sets distance to spotlight clipping planes.
ILBStatus ILBSetLightDisplayName(ILBLightHandle light, ILBConstString displayName)
Sets the display name for the light source.
ILBStatus ILBGetLightVolumeType(ILBLightHandle light, ILBLightVolumeType *type)
Gets light volume type for a light source.
ILBStatus ILBSetShadowSamples(ILBLightHandle light, int32 samples)
Sets the maximum number of shadow samples for the light source.
ILBStatus ILBCreateDirectionalLight(ILBSceneHandle scene, ILBConstString name, const ILBMatrix4x4 *transform, const ILBLinearRGB *intensity, ILBLightHandle *light)
Add a directional light to the scene It points in negative Y direction by default, use the matrix to change its direction.
ILBLightStats
Status bit masks for light sources.
Definition: beastlightsource.h:107
Handle for Beast textures Intentionally hidden implementation.
Definition: beastapitypes.h:450
Point light.
Definition: beastlightsource.h:33
ILBStatus ILBSetLightColor(ILBLightHandle light, const ILBLinearRGB *color)
Sets the color for a light source.
ILBStatus ILBChangeLightType(ILBLightHandle light, ILBLightType newType, ILBLightHandle *newHandle)
Changes the type of a light source.
ILBLightLinkMode
Enum defining if a light link is inclusive or exclusive.
Definition: beastapitypes.h:540
ILBStatus ILBGetLightIntensityScale(ILBLightHandle light, float *directScale, float *indirectScale)
Gets scale for direct and indirect light intensity for a light source.
ILBStatus ILBGetLightMaxRangeFalloff(ILBLightHandle light, float *cutoff, float *exponent)
Returns the falloff parameters from a light source with MaxRange falloff.
ILBStatus ILBGetLightCastShadows(ILBLightHandle light, ILBBool *castShadows)
Returns whether a light source cast shadows.
ILBStatus ILBSetSkyLightTexture(ILBLightHandle light, ILBTextureHandle texture)
Sets a texture for a sky light.
Controls if the light source should be visible for global illumination rays.
Definition: beastlightsource.h:126
ILBStatus ILBSetCastShadows(ILBLightHandle light, ILBBool castShadows)
Flags whether the light cast shadows or not.
Area light.
Definition: beastlightsource.h:38
Handle for Beast light sources Intentionally hidden implementation.
Definition: beastapitypes.h:436
ILBStatus ILBCreateSkyLight(ILBSceneHandle scene, ILBConstString name, const ILBMatrix4x4 *transform, const ILBLinearRGB *intensity, ILBLightHandle *light)
Add a sky light to the scene It illuminates the whole scene by default, but this can be altered by se...
ILBStatus ILBSetLightPolynomialFalloff(ILBLightHandle light, float cutoff, float constant, float linear, float quadratic, ILBBool clampToOne)
Sets the falloff to type "Polynomial" for a light source.
Ambient light.
Definition: beastlightsource.h:58
Controls if the light source should be visible for camera rays.
Definition: beastlightsource.h:111
ILBStatus ILBGetShadowAngle(ILBLightHandle light, float *angleRadians)
Gets the angle covered of the sky for a directional light or window light for shadow casting purposes...
Window light.
Definition: beastlightsource.h:48
Color definition All colors are expressed in linear space as opposed to gamma corrected.
Definition: beastapitypes.h:338
uint32 ILBLightStatsMask
Type representing multiple light stats.
Definition: beastlightsource.h:153
Sets the light stats supplied to true.
Definition: beastlightsource.h:141
ILBStatus ILBSetIntensityScale(ILBLightHandle light, float directScale, float indirectScale)
Sets scale for direct and indirect light intensity for a light source.
ILBStatus ILBGetLightStats(ILBLightHandle light, ILBLightStatsMask stats, ILBLightStatsMask *result)
Query light stats for a light source.
int32 ILBBool
Bool type with a well defined size to avoid compatibility-problems.
Definition: beastapitypes.h:284
A cube volume.
Definition: beastlightsource.h:101
ILBStatus ILBSetFalloff(ILBLightHandle light, ILBFalloffType type, float exponent, float cutoff, ILBBool clampToOne)
Sets the falloff for a light source.
ILBStatus ILBGetLightShadowSamples(ILBLightHandle light, int32 *shadowSamples)
Returns the number of shadow samples a light source will use.
ILBStatus ILBSetShadowRadius(ILBLightHandle light, float radius)
Sets a radius for the light source as a shadow caster.
Controls if the light source should be visible for refraction rays.
Definition: beastlightsource.h:121
ILBStatus ILBSetLightRampEntry(ILBLightHandle light, float position, const ILBLinearRGB *value)
Adds a light ramp entry for falloff calculation.
ILBStatus ILBSetSkyLightTextureFilter(ILBLightHandle light, float filter)
Sets texture filter size for a sky light.
ILBFalloffType
Describes different falloff for light sources.
Definition: beastlightsource.h:65
Handle for Beast scenes Intentionally hidden implementation.
Definition: beastapitypes.h:408
ILBLightStatOperation
Selects if the light stats should be enabled or disabled.
Definition: beastlightsource.h:133
ILBStatus
Status codes for Beast API calls.
Definition: beastapitypes.h:153
ILBStatus ILBGetLightPolynomialFalloff(ILBLightHandle light, float *cutoff, float *constant, float *linear, float *quadratic, ILBBool *clamp)
Returns the falloff parameters from a light source with Polynomial falloff.
ILBStatus ILBSetLightStats(ILBLightHandle light, ILBLightStatsMask stats, ILBLightStatOperation operation)
Sets light status bits for a light source.
ILBStatus ILBCreateAmbientLight(ILBSceneHandle scene, ILBConstString name, const ILBMatrix4x4 *transform, const ILBLinearRGB *intensity, ILBLightHandle *light)
Add an ambient light to the scene.
Specified the whole 3D space.
Definition: beastlightsource.h:91
ILBStatus ILBGetSkyLightTexture(ILBLightHandle light, ILBTextureHandle *texture)
Gets a texture from a sky light.
ILBStatus ILBDeleteLightSource(ILBLightHandle light)
Deletes a light source from a scene.
ILBStatus ILBSetLightTransform(ILBLightHandle light, const ILBMatrix4x4 *transform)
Sets the transform for a light source.
Handle for Beast strings Intentionally hidden implementation.
Definition: beastapitypes.h:471
ILBStatus ILBSetLightMaxRangeFalloff(ILBLightHandle light, float cutoff, float exponent)
Sets the falloff to type "Max Range" for a light source.
Controls if the light source should be visible for reflection rays.
Definition: beastlightsource.h:116
ILBStatus ILBGetSpotlightCone(ILBLightHandle light, float *angleRadians, float *penumbraAngleRadians, float *penumbraExponent)
Gets the cone angle for a spotlight.