From: Guillaume L. <gui...@gm...> - 2005-09-02 19:43:18
|
Hello everyone! Fall is coming, so is Collada 1.4! We're starting to make changes to ColladaMaya's non-physics part that are not yet ratified and may be a part of Collada 1.4. The first of these changes are related to the tangents and binormals(T/Bs). Specifically, the geometric T/Bs can now be exported under the TANGENT and BINORMAL semantics, they are tied directly to the normals in the tessellation. The texture T/Bs can now be exported as well, under the TEXTANGENT and TEXBINORMAL semantics. They are indexed together for each texture coordinate set and you'll notice that a binary insertion algorithm is used to compress them. The texture coordinate sets are defined using a new node: the <texcoord_set> node, which is used only to identify which T/Bs go with which texture coordinates. The export of geometric and texture T/Bs is activated through their respective export options. The second of these changes is one that I've personally been waiting a long time to do: placing the light parameters under a <technique> node. This allows ColladaMaya to export, under the Maya-specific profile, the "intensity" and "penumbra" parameters. The importer is backward compatible with the light parameter organization of Collada 1.3. Finally, the weights for the weighted animation curves have been moved from the Maya-specific profile to be inputs directly in the animation curve's <sampler> node. You can get this new version here: http://prdownloads.sourceforge.net/colladamaya/ColladaPluginForMaya-0.70.zi= p?download Have a good weekend! Guillaume Laforte Feeling Software Inc. http://www.feelingsoftware.com Recent Changes --------------------------- 02/09/05 (Release 0.70) =09(gla...@fe...) =09Tangents/Binormals Compression: Refactored my T/Bs compression code to be a binary inserting sort algorithm, which is O(2*n*ln(n)) 01/09/05 =09(gla...@fe...) =09Small Fix: Changed Transparency export so that the factor is always zero. We use the transparent color channel instead to have transparency. =09Small Fix: From Kevin Thacker for a multiple UV sets issue. It so happens that occasionnally, UV sets are not ordered properly and plugs are dirty. Match uvSets by name rather than assuming the plug indices match. =09Small Fix: Moved the IN_TANGENT_WEIGHT and OUT_TANGENT_WEIGHT inputs out of the Maya-specific techniques and into the sampler directly, as it is accepted to add new input semantics outside the COMMON profile directly with the other inputs. Kept the import code for backward compatibility. =09Collada 1.4 Lights: Moved the light parameters to be under a <technique> node. All the currently exported parameters are exported under the COMMON profile. Added the export of two important light parameters, under the Maya-specific profile: intensity and penumbra angle. Added the export of their animation and created a test case to test this out. Backward compatibility with Collada 1.3 is kept by batching all the parameters, whether they are under a <technique> node or not, before parsing them during the import. Added import of the two Maya-specific light parameters and their animation. =09Tangents/Binormals Compression: Implemented the brute force insert sort algorithm for tangents/binormal compression. Merge the texture T/Bs tessellation indices together for each texture coordinate set. Export the compressed T/Bs and keep the compressed T/Bs indices until the polygons are exported, as they are needed, as an extra level of indexing, for the tessellation. 29/08/05 =09(gla...@fe...) =09SourceForge #1275653: Tangents/Binormals (T/Bs) Support: Implemented the Collada 1.4 poll results for the new organization of T/Bs as follows. Added new export option for the texture T/Bs. Refactored the current T/B export code to actually calculate the geometric T/Bs using the normal vector. If the texture T/Bs are to be exported, then for each UV set, add the new <texcoord_set> node with the correct sources as input. Added the new TEXTANGENT and TEXBINORMAL semantics. The texture T/Bs are more complex than I originally thought, as they are always per-face, per-vertex, so I need to keep track of the total offset for each face. |