Go to the
documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 namespace mudbox {
00030 
00031 
00032 
00034 
00035 class MBDLL_DECL Light : virtual public GroupNode
00036 
00037 {
00038 
00039     DECLARE_CLASS;
00040 
00041 
00042 
00043 protected:
00044 
00046 
00048 
00050 
00052 
00054 
00056 
00057     Light( void );
00058 
00059 
00060 
00061 public:
00062 
00063 
00064 
00065     enum LightType
00066 
00067     {
00068 
00069         LIGHT_DIRECTIONAL=0,
00070 
00071         LIGHT_POINT,
00072 
00073         LIGHT_SPOT,
00074 
00075         LIGHT_IBL,
00076 
00077         LIGHT_NONE,
00078 
00079     };
00080 
00081 
00082 
00084 
00085     virtual Color Diffuse( void ) const;
00086 
00087     
00088 
00090 
00091     virtual void SetDiffuse(
00092 
00093         const Color &cDiffuse       
00094 
00095         );
00096 
00097     
00098 
00100 
00101     virtual float Intensity( void ) const;
00102 
00103     
00104 
00106 
00107     virtual void SetIntensity(
00108 
00109         float fIntensity        
00110 
00111         );
00112 
00113     
00114 
00116 
00117     virtual bool IsLockedToCamera( void ) const;
00118 
00119     
00120 
00122 
00123     virtual void SetLockedToCamera(
00124 
00125         bool bOnOrOff   
00126 
00127         );
00128 
00129     
00130 
00132 
00133     virtual bool Render( void );
00134 
00135     
00136 
00138 
00139     virtual Manipulator *GetManipulator();
00140 
00141     
00142 
00144 
00145     virtual void ValidateShadowMap();
00146 
00147     
00148 
00150 
00151     virtual Texture *ShadowDepthMap();
00152 
00153     
00154 
00156 
00158 
00160 
00162 
00164 
00166 
00168 
00169     virtual const Matrix &ShadowMatrix() const;
00170 
00171     
00172 
00174 
00175     virtual bool CastShadow();
00176 
00177     
00178 
00180 
00182 
00184 
00186 
00188 
00190 
00192 
00193     virtual float ShadowBias();
00194 
00195     
00196 
00198 
00200 
00202 
00203     virtual LightType Type();
00204 
00205     
00206 
00208 
00210 
00212 
00213     virtual void SetAttenuation(float);
00214 
00215     
00216 
00218 
00220 
00222 
00223     virtual float Attenuation(void) const;
00224 
00225     
00226 
00228 
00230 
00232 
00234 
00236 
00238 
00240 
00241     virtual Matrix LockedToCameraMatrix() const;
00242 
00243     
00244 
00246 
00247     virtual Image *HDRImage() const;
00248 
00249     
00250 
00251     
00252 
00253     
00254 
00255     
00256 
00257     
00258 
00259     virtual const QString *HDRImageFilename() const;
00260 
00261 };
00262 
00263 
00264 
00265 }; 
00266