Commit Graph

130 Commits

Author SHA1 Message Date
Nathan Letwory
3e8c838a99 Fix [#26012] Import Collada: instance_node incorrectly handled
Reported by David Roy

When <instance_node>s where read, their transformation matrix got overwritten with the transform matrix
of their own node, not taking into account the parent node transformation. Instead of doing
that we now get the parent node transformation matrix and apply it to its own, and prevent
caller from overwriting this new transformation matrix.
2011-03-09 14:16:21 +00:00
Nathan Letwory
3f9bbde4a6 Fix [#26037] Import Collada crashes Blender
Submitted by David Roy

Multiple nodes can reference the same geometry, and specify the same materials. This lead
to the import code overwriting material mappings of faces in a destructive way. Instead of
just writing the material bindings always we now keep book of what geometry+material mapping
we've already handled.
2011-03-09 01:13:28 +00:00
Nathan Letwory
94b5fd6eb9 Skip materials that are invalid. 2011-03-08 20:41:43 +00:00
Nathan Letwory
3d05311d3c Apply [#26383] Triangle fans support for COLLADA importer
Submitted by Alexey Zakharov

This patch adds support to Blender for reading geometry data that's
represented as triangle fans.
2011-03-08 13:26:41 +00:00
Nathan Letwory
82b21ba166 Fix [#26213] Collada exporter id's not unique
Reported by Kevin Yoon

<material> could get same id as <node>, prevent that by suffixing -material.
2011-02-28 14:24:52 +00:00
Nathan Letwory
caf9fb6cce doxygen: blender/collada tagged. 2011-02-27 20:30:35 +00:00
Nathan Letwory
5b607701a7 doxygen: prevent GPL license block from being parsed as doxygen comment. 2011-02-23 10:52:22 +00:00
Nathan Letwory
322ff7dfe4 I swear, it was just an innocence change in guardedalloc!
The butterfly wing flap, causing a nice storm in the rest of blender.

Now all dependencies should point ok again. CMakers, do double-test.
2011-02-21 12:35:04 +00:00
Nathan Letwory
bcec824299 doxygen: COLLADA entry 2011-02-21 08:38:53 +00:00
Campbell Barton
f77051c2fc fix for build warning with openCOLLADA svn833 reported by Dave Plater.
Also fixed duplicate header define between 2 includes.
2011-02-17 22:57:56 +00:00
Campbell Barton
867fc4b463 enforce string limits (reported by pedantic checking tools & some developers).
mostly replace strcpy with BLI_strncpy and multiple strcat's with a BLI_snprintf().
also fix possible crash if CWD isnt available.
2011-02-13 03:21:27 +00:00
Campbell Barton
0a4eb24ca0 fix for building with opencollada 833 on linux. 2011-02-12 06:25:04 +00:00
Nathan Letwory
f3a19f4324 small typo fix 2011-02-04 13:18:44 +00:00
Campbell Barton
89c617a116 remove nan-makefiles 2011-01-30 15:29:22 +00:00
Nathan Letwory
7769c00385 First step towards having a 2-pass reading of COLLADA .dae files. 2011-01-28 12:56:30 +00:00
Nathan Letwory
71cb745941 Commit to cope with API changes in OpenCOLLADA (latest for Windows right now r827). 2011-01-27 19:39:06 +00:00
Nathan Letwory
dbb67b4d4c Fix [#25575] Collada import problem with Maya2010 exported collada files
Reported by Morten Mikkelsen

It seems that the maya export may generate invalid joint UIDs. Skip these joints to prevent crash.
2011-01-10 23:31:14 +00:00
Campbell Barton
8f21a43535 split BKE_utildefines.h, now it only has blender specific defines like GS() MAKE_ID, FILE_MAXDIR, moved the generic defines to BLI_utildefines.h.
no functional changes.
2011-01-07 18:36:47 +00:00
Campbell Barton
5e382eb8e5 rename blenderlib to blender_add_lib 2010-12-22 23:09:30 +00:00
Nathan Letwory
c5077e1ede Fix [#24359] Collada: end bone zero size, mysterious extra empty
Reported by Thomas Larsson
Fix by Jeroen Bakker

Fix max length of leaf bone and remove empty.
2010-12-21 10:43:47 +00:00
Nathan Letwory
044e31b89c Fix [#25319] COLLADA import segfaults on maya model
Reported by Michael Williamson
Fixed by Jeroen Bakker

Wrong UV index was being used.
2010-12-21 09:41:02 +00:00
Nathan Letwory
17f37dcecc Apply [#25297] Fix for [#23765]
Bug reported by alarionfirn
Patch submitted by Jeroen Bakker

It took the read the N+N of the uv-layer, it should be the Nth uv layer.
2010-12-19 20:40:52 +00:00
Campbell Barton
f90a2123ee no functional change: only check against OB_RECALC_ALL but don't use for assignment.
Makes adding new flags give ambiguous results and also makes it less easy to tell whats intended.
In some places it looks like OB_RECALC_TIME should be left out too.
2010-12-17 15:51:42 +00:00
Nathan Letwory
100d611ce5 Apply patch [#25224] Refactor COLLADA DocumentImporter
Submitted by Martijn Berger.

Make DocumentImporter class the actual IWriter implementation and move prototype to the header.
Group together functions that we should move out of the class.

No functional changes.
2010-12-14 21:46:03 +00:00
Campbell Barton
afacd18498 use lowercase for cmake builtin names and macros, remove contents in else() and endif() which is no longer needed. 2010-12-08 08:43:06 +00:00
Brecht Van Lommel
b110c7c8f2 Dependency graph: changed DAG_id_flush_update to DAG_id_tag_update. Now it
only tags the ID and does the actual flush/update delayed, before the next
redraw. For objects the update was already delayed, just flushing wasn't
yet.

This should help performance in python and animation editors, by making 
calls to RNA property update quicker. Still need to add calls in a few
places where this was previously avoided due to bad performance.
2010-12-05 18:59:23 +00:00
Campbell Barton
e8397e6193 include headers in cmake source, added a script to check for consistency, reporting missing headers & C files.
this is important so IDE's using CMake integration always get blender headers. - QtCreator & MSVC for eg, probably others too.
2010-11-29 04:35:56 +00:00
Nathan Letwory
c790b2c238 When exporting images also add the string name (attribute). This is optional, but it helps other viewers importing from Blender .dae exports.
Small request by factor in IRC.
2010-11-23 23:58:12 +00:00
Nathan Letwory
12afa64de9 Fix [#24592] COLLADA imports only one special node per type per node
Reported and patched by Martijn Berger
2010-11-16 23:18:17 +00:00
Nathan Letwory
e2b3ff5024 Apply patch [#24722] COLLADA exporter: handle instancing
Submitted by Wenzel Jakob

Patch adds handling of linked meshes: instead of generating separate geometry objects, use instances.
2010-11-16 22:27:31 +00:00
Campbell Barton
c4967b5dde bugfix [#24616] Apply Visual Transform doesn't always apply location
- object updates were not being flushed, so children weren't updating.
- apply the matrix relative to the parent, added this as an option to object_apply_mat4() which allows assigning the worldspace matrix in python without worrying about the parent.
2010-11-08 22:32:28 +00:00
Campbell Barton
dba1904f65 bugfix [#24518] Blender wont compile with -Wall -Werror and COLLADA support
fix included in report from Martijn Berger (mberger)
made some small changes.

- use ints rather then unsigned long for printing, values are not likely to be very large.
- CMake remove strict flags from collada build dir since I had warnings in the collada headers.
- added xml2 to collada libraries else I couldnt get collada building.
2010-11-03 22:44:39 +00:00
Nathan Letwory
01cdd515fb Compile fix after math API change from r32694 2010-10-25 07:36:14 +00:00
Damien Plisson
deb058a669 Collada : header files order dependency was making osx compile fail 2010-10-24 07:55:56 +00:00
Campbell Barton
c6976e7351 use explicit file paths for CMake rather then globing, This is recommended by cmake devs.
globbing vs explicit is discussed here.
http://www.cmake.org/pipermail/cmake/2008-December/025694.html

Practical implications are:
- developers need to keep CMakeLists.txt files up to date.
- Users wont get strange linking errors if they build after a file is added, since CMake detects CMakeLists.txt is modified and automatically reconfigure.
2010-10-23 04:05:55 +00:00
Campbell Barton
4d37cf90b9 remove G.sce, use G.main->name instead.
Both stored the filename of the blend file, but G.sce stored the last opened file.
This will make blender act differently in some cases since a relative path to the last opened file will no longer resolve (which is correct IMHO since that file isnt open and the path might not even be valid anymore).

Tested linking with durian files and rendering to relative paths when no files is loaded however we may need to have some operators give an error if they are used on the default startup.blend.
2010-10-18 06:41:16 +00:00
Nathan Letwory
03085d2cae Fix [#24200] COLLADA Exporter: Aspect ratio is not exported
Reported by Wenzel Jakob, patch [#24235] by Phil Gosch
2010-10-18 00:46:41 +00:00
Nathan Letwory
17085e967e Fix COLLADA import after recent API cleanups by Campbell. 2010-10-15 14:56:31 +00:00
Nathan Letwory
097a926d94 Fix [#24201] COLLADA Exporter: Light source energy incorrect
lamp->energy and lamp->distance are now taken in account by calculating
the constant, linear and quadratic attenuations based on this.

The import tries to do the reverse.

Note: this will work only properly for lamps that have att1 and att2 set to
1.0 or 0.0, other lamptypes won't import correctly again.
2010-10-14 09:40:56 +00:00
Nathan Letwory
8ec87bb45f COLLADA
Export unit system and scale instead of hard-coded 1 decimeter.
2010-10-11 12:38:52 +00:00
Nathan Letwory
d420d09da9 Fix compiling for MingW too. 2010-10-09 21:31:32 +00:00
Nathan Letwory
f72eef5de7 COLLADA
Import unit_settings to scene.

Note: I use here RNA to do this, and I think I might slowly work on replacing low-level DNA usage with RNA where possible.
2010-10-09 21:17:14 +00:00
Guillermo S. Romero
c9453b1357 SVN maintenance. 2010-10-07 01:20:59 +00:00
Nathan Letwory
c139faf171 COLLADA: Split EffectsExporter into separate files. 2010-10-07 00:24:42 +00:00
Guillermo S. Romero
47969866e0 SVN maintenance. 2010-10-06 20:40:16 +00:00
Nathan Letwory
c0b36a0be0 COLLADA: Split ImagesExporter into separate files. 2010-10-06 16:23:52 +00:00
Nathan Letwory
ca44eb3abd GCC fixes for r32346 2010-10-06 13:55:50 +00:00
Nathan Letwory
0d815d3528 COLLADA: Split MaterialsExporter into separate files. 2010-10-06 13:21:08 +00:00
Nathan Letwory
e161c22dc2 Assorted GCC fixes for OpenCOLLADA support 2010-10-06 12:04:56 +00:00
Nathan Letwory
7245280f6c COLLADA: Split ArmatureExporter, InstanceWriter and TransformWriter into separate files. 2010-10-06 11:02:44 +00:00