- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files
- Directories
- Examples

- File List
- File Members

# light.h

Go to the documentation of this file.

    00001
    00002 //**************************************************************************/
    00003 // Copyright (c) 2008 Autodesk, Inc.
    00004 // All rights reserved.
    00005 //
    00006 // Use of this software is subject to the terms of the Autodesk license
    00007 // agreement provided at the time of installation or download, or which
    00008 // otherwise accompanies this software in either electronic or hard copy form.
    00009 //
    00010 //**************************************************************************/
    00011 // DESCRIPTION:
    00012 // CREATED: October 2008
    00013 //**************************************************************************/
    00014
    00015 namespace mudbox {
    00016
    00018 class MBDLL_DECL Light : virtual public GroupNode
    00019 {
    00020     DECLARE_CLASS;
    00021
    00022 protected:
    00029     Light( void );
    00030
    00031 public:
    00032
    00033     enum LightType
    00034     {
    00035         LIGHT_DIRECTIONAL=0,
    00036         LIGHT_POINT,
    00037         LIGHT_SPOT,
    00038         LIGHT_IBL,
    00039         LIGHT_NONE,
    00040     };
    00041
    00043     virtual Color Diffuse( void ) const;
    00044
    00046     virtual void SetDiffuse(
    00047         const Color &cDiffuse
    00048         );
    00049
    00051     virtual float Intensity( void ) const;
    00052
    00054     virtual void SetIntensity(
    00055         float fIntensity
    00056         );
    00057
    00059     virtual bool IsLockedToCamera( void ) const;
    00060
    00062     virtual void SetLockedToCamera(
    00063         bool bOnOrOff
    00064         );
    00065
    00067     virtual bool Render( void );
    00068
    00070     virtual Manipulator *GetManipulator();
    00071
    00073     virtual void ValidateShadowMap();
    00074
    00076     virtual Texture *ShadowDepthMap();
    00077
    00085     virtual const Matrix &ShadowMatrix() const;
    00086
    00088     virtual bool CastShadow();
    00089
    00097     virtual float ShadowBias();
    00098
    00102     virtual LightType Type();
    00103
    00107     virtual void SetAttenuation(float);
    00108
    00112     virtual float Attenuation(void) const;
    00113
    00121     virtual Matrix LockedToCameraMatrix() const;
    00122
    00124     virtual Image *HDRImage() const;
    00125
    00126     // \brief Returns the path to the associated HDRI image, if any.
    00127     //
    00128     // Returns a NULL pointer if this is not an HDRI light.  If a valid String pointer is returned, you should NOT delete it;
    00129     // it is a pointer into the object data.
    00130     virtual const QString *HDRImageFilename() const;
    00131 };
    00132
    00133 }; // end of namespace mudbox