forked from izrik/FbxSharp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFbxLight.cs
118 lines (103 loc) · 5.68 KB
/
FbxLight.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
using System;
namespace FbxSharp
{
public class FbxLight : FbxNodeAttribute
{
public FbxLight(string name="")
: base(name)
{
Properties.Add(LightType);
Properties.Add(CastLight);
Properties.Add(DrawVolumetricLight);
Properties.Add(DrawGroundProjection);
Properties.Add(DrawFrontFacingVolumetricLight);
Properties.Add(Color);
Properties.Add(Intensity);
Properties.Add(InnerAngle);
Properties.Add(OuterAngle);
Properties.Add(Fog);
Properties.Add(DecayType);
Properties.Add(DecayStart);
Properties.Add(FileName);
Properties.Add(EnableNearAttenuation);
Properties.Add(NearAttenuationStart);
Properties.Add(NearAttenuationEnd);
Properties.Add(EnableFarAttenuation);
Properties.Add(FarAttenuationStart);
Properties.Add(FarAttenuationEnd);
Properties.Add(CastShadows);
Properties.Add(ShadowColor);
Properties.Add(AreaLightShape);
Properties.Add(LeftBarnDoor);
Properties.Add(RightBarnDoor);
Properties.Add(TopBarnDoor);
Properties.Add(BottomBarnDoor);
Properties.Add(EnableBarnDoor);
}
#region implemented abstract members of NodeAttribute
public override EAttributeType AttributeType {
get {
return EAttributeType.Light;
}
}
#endregion
#region Light Properties
public enum EType
{
ePoint,
eDirectional,
eSpot,
eArea,
eVolume,
}
public enum EDecayType
{
eNone,
eLinear,
eQuadratic,
eCubic,
}
public enum EAreaLightShape
{
eRactangle,
eSphere,
}
public void SetShadowTexture(FbxTexture pTexture)
{
throw new NotImplementedException();
}
public FbxTexture GetShadowTexture()
{
throw new NotImplementedException();
}
#endregion
#region Properties
public FbxPropertyT<EType> LightType = new FbxPropertyT<EType> ("LightType");
public FbxPropertyT<bool> CastLight = new FbxPropertyT<bool> ("CastLightOnObject");
public FbxPropertyT<bool> DrawVolumetricLight = new FbxPropertyT<bool> ("DrawVolumetricLight");
public FbxPropertyT<bool> DrawGroundProjection = new FbxPropertyT<bool> ("DrawGroundProjection");
public FbxPropertyT<bool> DrawFrontFacingVolumetricLight = new FbxPropertyT<bool> ("DrawFrontFacingVolumetricLight");
public FbxPropertyT<double> Intensity = new FbxPropertyT<double> ("Intensity");
public FbxPropertyT<double> InnerAngle = new FbxPropertyT<double> ("InnerAngle");
public FbxPropertyT<double> OuterAngle = new FbxPropertyT<double> ("OuterAngle");
public FbxPropertyT<double> Fog = new FbxPropertyT<double> ("Fog");
public FbxPropertyT<EDecayType> DecayType = new FbxPropertyT<EDecayType> ("DecayType");
public FbxPropertyT<double> DecayStart = new FbxPropertyT<double> ("DecayStart");
public FbxPropertyT<string> FileName = new FbxPropertyT<string> ("FileName");
public FbxPropertyT<bool> EnableNearAttenuation = new FbxPropertyT<bool> ("EnableNearAttenuation");
public FbxPropertyT<double> NearAttenuationStart = new FbxPropertyT<double> ("NearAttenuationStart");
public FbxPropertyT<double> NearAttenuationEnd = new FbxPropertyT<double> ("NearAttenuationEnd");
public FbxPropertyT<bool> EnableFarAttenuation = new FbxPropertyT<bool> ("EnableFarAttenuation");
public FbxPropertyT<double> FarAttenuationStart = new FbxPropertyT<double> ("FarAttenuationStart");
public FbxPropertyT<double> FarAttenuationEnd = new FbxPropertyT<double> ("FarAttenuationEnd");
public FbxPropertyT<bool> CastShadows = new FbxPropertyT<bool> ("CastShadows");
public FbxPropertyT<FbxVector3> ShadowColor = new FbxPropertyT<FbxVector3> ("ShadowColor");
public FbxPropertyT<EAreaLightShape> AreaLightShape = new FbxPropertyT<EAreaLightShape>("AreaLightShape");
public FbxPropertyT<float> LeftBarnDoor = new FbxPropertyT<float> ("LeftBarnDoor");
public FbxPropertyT<float> RightBarnDoor = new FbxPropertyT<float> ("RightBarnDoor");
public FbxPropertyT<float> TopBarnDoor = new FbxPropertyT<float> ("TopBarnDoor");
public FbxPropertyT<float> BottomBarnDoor = new FbxPropertyT<float> ("BottomBarnDoor");
public FbxPropertyT<bool> EnableBarnDoor = new FbxPropertyT<bool> ("EnableBarnDoor");
#endregion
}
}