Lighting filter. More...
#include <ilviews/bitmaps/filters/lighting.h>
Public Member Functions | |
IlvLightingFilter (IlFloat surfaceScale=1.0, IlvLightSource *light=0) | |
Constructor. More... | |
virtual | ~IlvLightingFilter () |
Destructor. More... | |
IlFloat * | computeBumpMap (const IlvRGBBitmapData *src, IlFloat scaleX, IlFloat scaleY) |
Computes the bump map for the given image. More... | |
IlvLightSource * | getLightSource () const |
Returns the light source. More... | |
IlFloat | getSurfaceScale () const |
Returns the surface scale. More... | |
void | setLightSource (IlvLightSource *light) |
void | setSurfaceScale (IlFloat scale) |
Sets the surface scale. More... | |
Public Member Functions inherited from IlvBitmapFilter | |
IlvBitmapFilter () | |
Constructor. More... | |
virtual | ~IlvBitmapFilter () |
Destructor. More... | |
virtual IlvBitmapData * | apply (IlUInt count=0, const IlvBitmapData **datas=0) |
Applies the filter to the given inputs. More... | |
IlvBitmapData * | applyUnary (const IlvBitmapData *data) |
Convenience method for unary filters. More... | |
virtual const char * | getClassName () const |
Returns the class name of the filter. More... | |
IlUInt | getHeight () const |
Returns the height of the filter effect region. More... | |
const char *const * | getInputs (IlUInt &count) const |
Returns the name of the input bitmap data. More... | |
const char * | getName () const |
Returns the name of the filter. More... | |
IlUInt | getRefCount () const |
Returns the reference count for this instance. | |
const char * | getResult () const |
Returns the name of the result bitmap data. More... | |
IlUInt | getWidth () const |
Returns the width of the filter effect region. More... | |
IlInt | getX () const |
Returns the left coordinate of the filter effect region. More... | |
IlInt | getY () const |
Returns the top coordinate of the filter effect region. More... | |
void | lock () |
Locks the current instance. | |
void | setHeight (IlUInt height) |
Sets the height of the filter effect region. More... | |
void | setInputs (IlUInt count, const char *const *name) |
Sets the input names of the filter. More... | |
void | setName (const char *id) |
Sets the name of the filter. More... | |
void | setResult (const char *name) |
Sets the result name of the filter. More... | |
void | setWidth (IlUInt width) |
Sets the width of the filter effect region. More... | |
void | setX (IlInt x) |
Sets the left coordinate of the filter effect region. More... | |
void | setY (IlInt y) |
Sets the top coordinate of the filter effect region. More... | |
void | unLock () |
Unlocks the current instance. When the reference count is 0 , the instance is deleted. | |
Public Member Functions inherited from IlvValueInterface | |
virtual IlBoolean | applyValue (const IlvValue &value) |
Apply an accessor. More... | |
virtual IlBoolean | changeValue (const IlvValue &val) |
Changes the value of an accessor. More... | |
virtual IlBoolean | changeValues (const IlvValue *values, IlUShort count=0) |
Changes several accessor values simultaneously. More... | |
virtual void | getAccessors (const IlSymbol *const **names, const IlvValueTypeClass *const **types, IlUInt &count) const |
Retrieves the list of available accessors of an object. More... | |
virtual IlvValue & | queryValue (IlvValue &val) const |
Retrieves an accessor value. More... | |
virtual void | queryValues (IlvValue *values, IlUShort count) const |
Retrieves multiple accessor values simultaneously. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from IlvBitmapFilter | |
static IlvBitmapFilter * | Create (const char *classname, IlBoolean forceLoad=IlTrue) |
This static method creates an instance of a bitmap filter of given classname. If the filter class is not registered and forceLoad is IlTrue , an attempt to load a dynamic module for this filter is made. More... | |
static const char ** | GetRegisteredFilters (IlUInt &num) |
This static method returns an array of registered filter class names. More... | |
Lighting filter.
Library: ilvbmpflt
This is the base class of lighting filters. It allows you to light an image using the alpha channel as a bump map. You can specify a light source.
IlvLightingFilter::IlvLightingFilter | ( | IlFloat | surfaceScale = 1.0 , |
IlvLightSource * | light = 0 |
||
) |
Constructor.
Initializes a new instance of the class IlvLightingFilter
.
The default surface scale is 1.0
and there is no light.
|
virtual |
Destructor.
The destructor releases all the memory used by the instance.
IlFloat* IlvLightingFilter::computeBumpMap | ( | const IlvRGBBitmapData * | src, |
IlFloat | scaleX, | ||
IlFloat | scaleY | ||
) |
Computes the bump map for the given image.
The bump map is an array of floating point triplets, one for each pixel of the source image. Each triplet stores the normal vector at this point.
src | The source image. |
scaleX | The scaling factor in the x direction. |
scaleY | The scaling factor in the y direction. |
src->getWidth() x src->getHeight()
triplets. IlvLightSource* IlvLightingFilter::getLightSource | ( | ) | const |
Returns the light source.
IlFloat IlvLightingFilter::getSurfaceScale | ( | ) | const |
Returns the surface scale.
void IlvLightingFilter::setLightSource | ( | IlvLightSource * | light | ) |
Sets the light source.
light | The new light source. |
void IlvLightingFilter::setSurfaceScale | ( | IlFloat | scale | ) |
Sets the surface scale.
scale | The new surface scale. |