Hi Arystan, Looking at the float-to-string function, it appears it does bitwise operations on long type vars. And this particular 'long' type size changes when going from 32 to 64bit !
Here is a patch that replaces the long type with fixed length int32_t. It makes the cube export work well :
If you confirm this fixes the issue, I'll commit the updated darwin9 lib. Cheers, Damien Le 20 févr. 2010 à 14:41, Arystan Dyussenov a écrit : > Damien, Ken, > > Zero-sized cube problem is fixed. > > This problem was caused by OpenCollada's own float-to-string conversion > functions which don't work correctly on 64-bit systems. > > The fix was to use sprintf. The disadvantage of using sprintf is that > precision has to be limited to N digits in fractional part. > > This patch modifies conversion functions to use sprintf with 6 digits after > the decimal point stripping off trailing zeros. > > The patch is on the wiki: > http://wiki.blender.org/index.php/File:Opencollada_ftoa_patch.diff > Tested on 64-bit Mac OSX 10.6. > > The original float-to-string function looks like this: > http://www.pasteall.org/11155/c > It only works on 32-bit. On 64-bit, it at minimum ignores the sign. If > anyone knows how to make it work on 64-bit, that'd be a real fix! > > Arystan > > On Wed, Feb 17, 2010 at 6:45 AM, Ken Hughes <[email protected]> wrote: > >> Let me give more details. >> >> Removed ~/.blender, ran blender build with collada >> Deleted everything from basic scene except cube >> Export --> COLLADA (.dae) >> set filename to "cube.dae", press "Export COLLADA" button. >> Messages are displayed in terminal window: >> >> RNA_string_set: WM_OT_collada_export.filename not found. >> RNA_string_set: WM_OT_collada_export.directory not found. >> >> Delete cube from scene. >> Import --> COLLADA (.dae) >> select"cube.dae", press "Import COLLADA" button. >> >> Messages are displayed in terminal window: >> RNA_string_set: WM_OT_collada_import.filename not found. >> RNA_string_set: WM_OT_collada_import.directory not found. >> Cannot find texture array by texture index. >> >> A "zero size" cube is created: all vertices/edges/faces, but vertices seem >> to have the same coordinate (1,1,0). >> >> The cube.dae file is attached. >> >> Ken >> >> Ok, that would be "no, it doesn't work". >>> >>> Ken >>> >>> Tom M wrote: >>> >>> >>>> Simple test, export cube via collada, >>>> >>>> delete cube from scene, >>>> >>>> import the cube.dae you created and see if you now have cube in your >>>> scene, >>>> >>>> LetterRip >>>> >>>> On Mon, Feb 15, 2010 at 5:44 PM, Ken Hughes <[email protected]> wrote: >>>> >>>> >>>>> Thanks to tips from Martin, looks like I'm on board. >>>>> >>>>> Will include FFMPEG and Collada, although would be good if someone can >>>>> test some builds first to verify collada functionality. That is, >>>>> assuming there's something more than just seeing if it comes up in the >>>>> Import and Export menus. >>>>> >>>>> Ken >>>>> >>>>> >>>> _______________________________________________ >>>> Bf-committers mailing list >>>> [email protected] >>>> http://lists.blender.org/mailman/listinfo/bf-committers >>>> >>>> >>>> >>> >>> _______________________________________________ >>> Bf-committers mailing list >>> [email protected] >>> http://lists.blender.org/mailman/listinfo/bf-committers >>> >>> >>> >> >> >> _______________________________________________ >> Bf-committers mailing list >> [email protected] >> http://lists.blender.org/mailman/listinfo/bf-committers >> >> > _______________________________________________ > Bf-committers mailing list > [email protected] > http://lists.blender.org/mailman/listinfo/bf-committers
_______________________________________________ Bf-committers mailing list [email protected] http://lists.blender.org/mailman/listinfo/bf-committers
