diff options
author | BlueWall | 2010-10-17 01:47:07 -0400 |
---|---|---|
committer | Melanie | 2010-10-17 09:52:12 +0100 |
commit | 06b61b68c768b040894158199816bd11b0fd5f52 (patch) | |
tree | 400b026bec9243ea7daa516145e08b5e6c296303 /OpenSim/Framework/PrimitiveBaseShape.cs | |
parent | typical non-effectual build trigger (diff) | |
download | opensim-SC-06b61b68c768b040894158199816bd11b0fd5f52.zip opensim-SC-06b61b68c768b040894158199816bd11b0fd5f52.tar.gz opensim-SC-06b61b68c768b040894158199816bd11b0fd5f52.tar.bz2 opensim-SC-06b61b68c768b040894158199816bd11b0fd5f52.tar.xz |
Adding osFunctions for light projection
Set the projection parameters in the host prim ...
osSetProjectionParam(bool Enabled,
key TextureMaskUUID,
float FOV,
float Focus,
float Ambiance);
Set the projection parameters in a target prim ...
osSetProjectionParam(ikey target uuid,
bool Enabled,
key TextureMaskUUID,
float FOV,
float Focus,
float Ambiance);
Threat Level very high
Signed-off-by: Melanie <melanie@t-data.com>
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Framework/PrimitiveBaseShape.cs | 55 |
1 files changed, 50 insertions, 5 deletions
diff --git a/OpenSim/Framework/PrimitiveBaseShape.cs b/OpenSim/Framework/PrimitiveBaseShape.cs index c5eb40b..927415e 100644 --- a/OpenSim/Framework/PrimitiveBaseShape.cs +++ b/OpenSim/Framework/PrimitiveBaseShape.cs | |||
@@ -802,6 +802,51 @@ namespace OpenSim.Framework | |||
802 | } | 802 | } |
803 | } | 803 | } |
804 | 804 | ||
805 | public bool ProjectionEntry { | ||
806 | get { | ||
807 | return _projectionEntry; | ||
808 | } | ||
809 | set { | ||
810 | _projectionEntry = value; | ||
811 | } | ||
812 | } | ||
813 | |||
814 | public UUID ProjectionTextureUUID { | ||
815 | get { | ||
816 | return _projectionTextureID; | ||
817 | } | ||
818 | set { | ||
819 | _projectionTextureID = value; | ||
820 | } | ||
821 | } | ||
822 | |||
823 | public float ProjectionFOV { | ||
824 | get { | ||
825 | return _projectionFOV; | ||
826 | } | ||
827 | set { | ||
828 | _projectionFOV = value; | ||
829 | } | ||
830 | } | ||
831 | |||
832 | public float ProjectionFocus { | ||
833 | get { | ||
834 | return _projectionFocus; | ||
835 | } | ||
836 | set { | ||
837 | _projectionFocus = value; | ||
838 | } | ||
839 | } | ||
840 | |||
841 | public float ProjectionAmbiance { | ||
842 | get { | ||
843 | return _projectionAmb; | ||
844 | } | ||
845 | set { | ||
846 | _projectionAmb = value; | ||
847 | } | ||
848 | } | ||
849 | |||
805 | public byte[] ExtraParamsToBytes() | 850 | public byte[] ExtraParamsToBytes() |
806 | { | 851 | { |
807 | ushort FlexiEP = 0x10; | 852 | ushort FlexiEP = 0x10; |
@@ -1175,16 +1220,16 @@ namespace OpenSim.Framework | |||
1175 | Array.Copy(data, pos, ProjectionTextureUUID,0, 16); | 1220 | Array.Copy(data, pos, ProjectionTextureUUID,0, 16); |
1176 | _projectionTextureID = new UUID(ProjectionTextureUUID, 0); | 1221 | _projectionTextureID = new UUID(ProjectionTextureUUID, 0); |
1177 | 1222 | ||
1178 | _projectionFocus = Utils.BytesToFloat(data, pos + 16); | 1223 | _projectionFOV = Utils.BytesToFloat(data, pos + 16); |
1179 | _projectionFOV = Utils.BytesToFloat(data, pos + 20); | 1224 | _projectionFocus = Utils.BytesToFloat(data, pos + 20); |
1180 | _projectionAmb = Utils.BytesToFloat(data, pos + 24); | 1225 | _projectionAmb = Utils.BytesToFloat(data, pos + 24); |
1181 | } | 1226 | } |
1182 | else | 1227 | else |
1183 | { | 1228 | { |
1184 | _projectionEntry = false; | 1229 | _projectionEntry = false; |
1185 | _projectionTextureID = UUID.Zero; | 1230 | _projectionTextureID = UUID.Zero; |
1186 | _projectionFocus = 0f; | ||
1187 | _projectionFOV = 0f; | 1231 | _projectionFOV = 0f; |
1232 | _projectionFocus = 0f; | ||
1188 | _projectionAmb = 0f; | 1233 | _projectionAmb = 0f; |
1189 | } | 1234 | } |
1190 | } | 1235 | } |
@@ -1194,8 +1239,8 @@ namespace OpenSim.Framework | |||
1194 | byte[] data = new byte[28]; | 1239 | byte[] data = new byte[28]; |
1195 | 1240 | ||
1196 | _projectionTextureID.GetBytes().CopyTo(data, 0); | 1241 | _projectionTextureID.GetBytes().CopyTo(data, 0); |
1197 | Utils.FloatToBytes(_projectionFocus).CopyTo(data, 16); | 1242 | Utils.FloatToBytes(_projectionFOV).CopyTo(data, 16); |
1198 | Utils.FloatToBytes(_projectionFOV).CopyTo(data, 20); | 1243 | Utils.FloatToBytes(_projectionFocus).CopyTo(data, 20); |
1199 | Utils.FloatToBytes(_projectionAmb).CopyTo(data, 24); | 1244 | Utils.FloatToBytes(_projectionAmb).CopyTo(data, 24); |
1200 | 1245 | ||
1201 | return data; | 1246 | return data; |