Open Reality Reference Guide
 
Loading...
Searching...
No Matches
fblight.h
1#ifndef __FBLIGHT_H__
2#define __FBLIGHT_H__
3/**************************************************************************
4 Copyright (c) 1994 - 2009 Autodesk, Inc. and/or its licensors.
5 All Rights Reserved.
6
7 The coded instructions, statements, computer programs, and/or related
8 material (collectively the "Data") in these files contain unpublished
9 information proprietary to Autodesk, Inc. and/or its licensors, which is
10 protected by Canada and United States of America federal copyright law
11 and by international treaties.
12
13 The Data may not be disclosed or distributed to third parties, in whole
14 or in part, without the prior written consent of Autodesk, Inc.
15 ("Autodesk").
16
17 THE DATA IS PROVIDED "AS IS" AND WITHOUT WARRANTY.
18 ALL WARRANTIES ARE EXPRESSLY EXCLUDED AND DISCLAIMED. AUTODESK MAKES NO
19 WARRANTY OF ANY KIND WITH RESPECT TO THE DATA, EXPRESS, IMPLIED OR
20 ARISING BY CUSTOM OR TRADE USAGE, AND DISCLAIMS ANY IMPLIED WARRANTIES
21 OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
22 PURPOSE OR USE. WITHOUT LIMITING THE FOREGOING, AUTODESK DOES NOT
23 WARRANT THAT THE OPERATION OF THE DATA WILL BE UNINTERRUPTED OR ERROR
24 FREE.
25
26 IN NO EVENT SHALL AUTODESK, ITS AFFILIATES, PARENT COMPANIES, LICENSORS
27 OR SUPPLIERS ("AUTODESK GROUP") BE LIABLE FOR ANY LOSSES, DAMAGES OR
28 EXPENSES OF ANY KIND (INCLUDING WITHOUT LIMITATION PUNITIVE OR MULTIPLE
29 DAMAGES OR OTHER SPECIAL, DIRECT, INDIRECT, EXEMPLARY, INCIDENTAL, LOSS
30 OF PROFITS, REVENUE OR DATA, COST OF COVER OR CONSEQUENTIAL LOSSES OR
31 DAMAGES OF ANY KIND), HOWEVER CAUSED, AND REGARDLESS OF THE THEORY OF
32 LIABILITY, WHETHER DERIVED FROM CONTRACT, TORT (INCLUDING, BUT NOT
33 LIMITED TO, NEGLIGENCE), OR OTHERWISE, ARISING OUT OF OR RELATING TO THE
34 DATA OR ITS USE OR ANY OTHER PERFORMANCE, WHETHER OR NOT AUTODESK HAS
35 BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS OR DAMAGE.
36
37**************************************************************************/
38
43#include <kaydaradef.h>
44#ifndef FBSDK_DLL
48 #define FBSDK_DLL K_DLLIMPORT
49#endif
50
51#include <fbsdk/fbmodel.h>
52
53#ifdef FBSDKUseNamespace
54 namespace FBSDKNamespace {
55#endif
56
58
60// FBLight
63
65enum FBLightType {
66 kFBLightTypePoint = 0,
67 kFBLightTypeInfinite,
68 kFBLightTypeSpot,
69 kFBLightTypeArea
70};
71
72FB_DEFINE_ENUM( FBSDK_DLL, LightType );
73
75enum FBAttenuationType {
76 kFBAttenuationNone = 0,
77 kFBAttenuationLinear,
78 kFBAttenuationQuadratic,
79 kFBAttenuationCubic
80};
81
82FB_DEFINE_ENUM( FBSDK_DLL, AttenuationType );
83
85class FBSDK_DLL FBLight : public FBModel
86{
88public:
93 FBLight(const char* pName, HIObject pObject=NULL);
94
98 eSphere
99 };
100
101 typedef FBPropertyBaseEnum<EAreaLightShapes> PropertyAreaLightShapes;
102
103 // Light parameters
104
111 FBPropertyLightType LightType;
113 FBPropertyAttenuationType AttenuationType;
121
122 // Effects and Gobos
126 FBPropertyVideo GoboMedia;
127
133};
134
136// FBPropertyListLight
140{
141public:
147 FBLight* operator[](int pIndex);
148};
149
151// FBGlobalLight
154
156enum FBFogMode
157{
158 kFBFogModeLinear,
159 kFBFogModeExponential,
160 kFBFogModeSquareExponential
161};
162
163FB_DEFINE_ENUM( FBSDK_DLL, FogMode );
164
167{
169
172
173public:
174
176
177 // Fog
183 FBPropertyFogMode FogMode;
184
189};
190
191#ifdef FBSDKUseNamespace
192 }
193#endif
194#endif
A box is a fundamental building block in the application architecture.
Definition fbcore.h:218
Global light class.
Definition fblight.h:167
FBPropertyAnimatableDouble FogBegin
Read Write Property: Begin fog distance.
Definition fblight.h:180
FBPropertyBool FogEnable
Read Write Property: Enable fog?
Definition fblight.h:178
FBPropertyAnimatableColor FogColor
Read Write Property: Fog color.
Definition fblight.h:179
static FBGlobalLight & TheOne()
Get the global Light object.
FBPropertyFogMode FogMode
Read Write Property: Fog falloff mode.
Definition fblight.h:183
FBPropertyAnimatableDouble FogEnd
Read Write Property: End fog distance.
Definition fblight.h:181
FBPropertyAnimatableDouble FogDensity
Read Write Property: Fog density.
Definition fblight.h:182
FBPropertyAnimatableColor AmbientColor
Read Write Property: Ambient light color.
Definition fblight.h:175
Light class.
Definition fblight.h:86
FBPropertyAnimatableDouble InnerAngle
Read Write Property: Inner Cone angle for light.
Definition fblight.h:115
FBPropertyDouble BottomBarnDoor
Read Write Property: Angle of bottom barn door.
Definition fblight.h:132
FBPropertyBool DrawFrontFacingVolumetric
Read Write Property: Draw front facing volumetric light?
Definition fblight.h:125
FBPropertyDouble TopBarnDoor
Read Write Property: Angle of top barn door.
Definition fblight.h:131
FBLight(const char *pName, HIObject pObject=NULL)
Constructor.
FBPropertyBool DrawGroundProjection
Read Write Property: Draw ground projection of gobo?
Definition fblight.h:123
EAreaLightShapes
Area light shapes.
Definition fblight.h:96
@ eRectangle
Rectangle.
Definition fblight.h:97
FBPropertyBool CastLightOnObject
Read Write Property: Cast light on object?
Definition fblight.h:119
FBPropertyDouble RightBarnDoor
Read Write Property: Angle of right barn door.
Definition fblight.h:130
PropertyAreaLightShapes AreaLightShape
Read Write Property: Area light shape.
Definition fblight.h:112
FBPropertyBool CastShadows
Read Write Property: Cast shadows on object?
Definition fblight.h:120
FBPropertyBool EnableBarnDoor
Read Write Property: Whether or not enable barn door.
Definition fblight.h:128
FBPropertyLightType LightType
Read Write Property: Type of light.
Definition fblight.h:111
FBPropertyVideo GoboMedia
Read Write Property: Media to use as a Gobo with the light.
Definition fblight.h:126
FBPropertyAnimatableDouble FogIntensity
Read Write Property: Intensity of the fog (spot light).
Definition fblight.h:117
FBPropertyAttenuationType AttenuationType
Read Write Property: Type of attenuation for the light.
Definition fblight.h:113
FBPropertyAnimatableColor DiffuseColor
Read Write Property: Color: Diffuse color.
Definition fblight.h:118
FBPropertyAnimatableDouble OuterAngle
Read Write Property: Outer Cone angle for light.
Definition fblight.h:116
FBPropertyAnimatableDouble Intensity
Read Write Property: Light intensity.
Definition fblight.h:114
FBPropertyDouble LeftBarnDoor
Read Write Property: Angle of left barn door.
Definition fblight.h:129
FBPropertyBool DrawVolumetricLight
Read Write Property: Draw volumetric light with gobo?
Definition fblight.h:124
Model class.
Definition fbmodel.h:274
PropertyList: Concrete class for PropertyList of component
PropertyList: Light
Definition fblight.h:140
FBLight * operator[](int pIndex)
Get the model at pIndex.
#define __FBClassDeclare(Name, Parent)
For internal use only.
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
Base class for Cameras.
class K_DLLIMPORT FBPropertyBaseAnimatable< FBColor, kFBPT_ColorRGB > FBPropertyAnimatableColor
FBPropertyAnimatableColor type definition.
class K_DLLIMPORT FBPropertyBaseAnimatable< double, kFBPT_double > FBPropertyAnimatableDouble
FBPropertyBaseAnimatableDouble type definition.
class K_DLLIMPORT FBPropertyBase< bool, kFBPT_bool > FBPropertyBool
Property: bool
#define FB_DEFINE_COMPONENT(DllTag, Type)
Define a component and give it the ability to be a property.
#define FB_DEFINE_ENUM(DllTag, Type)
Define an enum and give it the ability to be a property.
class K_DLLIMPORT FBPropertyBase< double, kFBPT_double > FBPropertyDouble
Property: double
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
Definition fbtypes.h:68