Mudbox/light.h Source File

light.h
Go to the documentation of this file.
1 
2 //**************************************************************************/
3 // Copyright (c) 2008 Autodesk, Inc.
4 // All rights reserved.
5 //
6 // Use of this software is subject to the terms of the Autodesk license
7 // agreement provided at the time of installation or download, or which
8 // otherwise accompanies this software in either electronic or hard copy form.
9 //
10 //**************************************************************************/
11 // DESCRIPTION:
12 // CREATED: October 2008
13 //**************************************************************************/
14 
15 namespace mudbox {
16 
18 class MBDLL_DECL Light : virtual public GroupNode
19 {
21 
22 protected:
29  Light( void );
30 
31 public:
32 
33  enum LightType
34  {
35  LIGHT_DIRECTIONAL=0,
40  };
41 
43  virtual Color Diffuse( void ) const;
44 
46  virtual void SetDiffuse(
47  const Color &cDiffuse
48  );
49 
51  virtual float Intensity( void ) const;
52 
54  virtual void SetIntensity(
55  float fIntensity
56  );
57 
59  virtual bool IsLockedToCamera( void ) const;
60 
62  virtual void SetLockedToCamera(
63  bool bOnOrOff
64  );
65 
67  virtual bool Render( void );
68 
70  virtual Manipulator *GetManipulator();
71 
73  virtual void ValidateShadowMap();
74 
76  virtual Texture *ShadowDepthMap();
77 
85  virtual const Matrix &ShadowMatrix() const;
86 
88  virtual bool CastShadow();
89 
97  virtual float ShadowBias();
98 
102  virtual LightType Type();
103 
107  virtual void SetAttenuation(float);
108 
112  virtual float Attenuation(void) const;
113 
121  virtual Matrix LockedToCameraMatrix() const;
122 
124  virtual Image *HDRImage() const;
125 
126  // \brief Returns the path to the associated HDRI image, if any.
127  //
128  // Returns a NULL pointer if this is not an HDRI light. If a valid String pointer is returned, you should NOT delete it;
129  // it is a pointer into the object data.
130  virtual const QString *HDRImageFilename() const;
131 };
132 
133 }; // end of namespace mudbox
Represents a color with four components: red, green, blue, alpha.
Definition: math.h:674
This class represents a 4x4 transformation matrix.
Definition: math.h:1122
This is the base class for all nodes that are transformable objects in the Mudbox scene...
Represents a texture tile inside a texture pool.
Definition: material.h:716
Class: ConvolutionKernel.
Definition: array.h:15
Represents a light source in the scene.
Definition: light.h:18
#define DECLARE_CLASS
This macro should be used in declaration of classes which are inherited from the Node class (or any d...
Definition: node.h:91
This is the base image type defining the interface to images.
Definition: image.h:1504
#define MBDLL_DECL
Definition: dllinterface.h:35