diff options
author | Treeki <treeki@gmail.com> | 2011-04-06 02:31:39 +0200 |
---|---|---|
committer | Treeki <treeki@gmail.com> | 2011-04-06 02:31:39 +0200 |
commit | c3fe440719b4e9a3fb3f4debe28c16cd7c60d7de (patch) | |
tree | 304860508f3b83654b75c424583b4960e05c9113 /NW4RTools/ColladaExporter.cs | |
parent | cff0bbcdf339ec99b9a1311605fb16f6378b3fb4 (diff) | |
download | nw4rtools-c3fe440719b4e9a3fb3f4debe28c16cd7c60d7de.tar.gz nw4rtools-c3fe440719b4e9a3fb3f4debe28c16cd7c60d7de.zip |
exporters now properly handle position data which only contains X/Y
Diffstat (limited to '')
-rw-r--r-- | NW4RTools/ColladaExporter.cs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/NW4RTools/ColladaExporter.cs b/NW4RTools/ColladaExporter.cs index cd5aaf1..ccdc6b0 100644 --- a/NW4RTools/ColladaExporter.cs +++ b/NW4RTools/ColladaExporter.cs @@ -478,15 +478,15 @@ namespace NW4RTools { var posArray = new float_array(); posArray.id = name + "-lib-Position-array"; - posArray.count = (ulong)(posData.GetRealCount() * posData.EntryCount); + posArray.count = (ulong)(3 * posData.EntryCount); posArray.Values = new double[posArray.count]; dest = 0; for (int i = 0; i < posData.EntryCount; i++) { float[] data = posData.GetEntry(i); - for (int j = 0; j < data.Length; j++) { - posArray.Values[dest++] = data[j]; - } + posArray.Values[dest++] = data[0]; + posArray.Values[dest++] = data[1]; + posArray.Values[dest++] = (data.Length <= 2) ? 0 : data[2]; } posSource.Item = posArray; @@ -496,9 +496,9 @@ namespace NW4RTools { var posAcc = posSource.technique_common.accessor = new accessor(); posAcc.source = String.Format("#{0}-lib-Position-array", name); posAcc.count = posData.EntryCount; - posAcc.stride = (ulong)posData.GetRealCount(); + posAcc.stride = 3; - posAcc.param = new param[posData.GetRealCount()]; + posAcc.param = new param[3]; string[] posParamNames = new string[] { "X", "Y", "Z" }; for (int i = 0; i < posAcc.param.Length; i++) { |