Commit Graph

359 Commits

Author SHA1 Message Date
959a717d91 Fix #31250, #31248: wrong vertex normals after transform apply, collada import,
sculpt shape key switch. All cases that called this function needed parameter
only_face_normals set to false, so changed it now.

Also fixed wrong user count for imported mesh from collada and simplified
previous fix for tesselated faces to polygons conversion.
2012-05-02 23:36:34 +00:00
203a4d42ca Fix #31089: collada file crashing on importing file with unknown/unsupported animation data. 2012-05-02 18:11:09 +00:00
66581e903c Fix #31176: Collada model shows weird textures in editmode
Issue with multimaterial meshes and mface to mpoly conversion being before assignment of materials (which is done on meshobject instancing?).
Added explicit bmesh conversion to MeshImporter which is called from DocumentImporter::import.
2012-05-02 16:18:20 +00:00
6327c9aae1 style cleanup: whitespace, braces 2012-05-01 20:08:23 +00:00
9fe1fe0aa8 bmesh py api:
add mtexpoly image access
2012-05-01 06:50:43 +00:00
Nathan Letwory
7cb037db86 Apply patch [#31179] COLLADA IMPORT instanced geometry improvement
from Martijn Berger

This patch improves importing instanced geometry consisting of multiple nodes.
2012-04-30 23:51:09 +00:00
343edf2722 style cleanup: function calls & whitespace. 2012-04-29 17:11:40 +00:00
e701f9b670 style cleanup: whitespace / commas 2012-04-29 15:47:02 +00:00
3553bf6db0 fix for incorrect selection check in opencollada integration. 2012-04-28 07:02:44 +00:00
b340f930ec style cleanup: changes to brace placement / newlines - for/while/if/switch 2012-04-28 06:31:57 +00:00
c1e475e527 code cleanup:
- remove unused vars
- no need to hard code version number for collada.
- cleanup some typos in comments.
- movieclip_calc_length was passing arg which should be unsigned to BLI_stringdec()
2012-04-08 07:34:09 +00:00
c60e7cd67b Collada:
* Save "Blender 2.6x" if built without BUILDINFO.
2012-04-07 18:32:53 +00:00
5b88712ff9 move debug flag into its own global var (G.debug), split up debug options.
--debug
  --debug-ffmpeg
  --debug-python
  --debug-events
  --debug-wm

This makes debug output easier to read - event debug prints would flood output too much before.

For convenience:
  --debug-all turns all debug flags on (works as --debug did before).

also removed some redundant whitespace in debug prints and prefix some prints with __func__ to give some context.
2012-03-31 00:59:17 +00:00
07065b27b8 style cleanup 2012-03-28 05:03:24 +00:00
f83a93e454 bmesh todo, unlikly but possible - entering editmode with faces and no polys.
rather then printing a warning and failing - convert them to polys.
2012-03-27 01:28:25 +00:00
b8a71efeba style cleanup: follow style guide for/with/if spacing 2012-03-24 07:52:14 +00:00
81d8f17843 style cleanup: pep8, indentation 2012-03-24 07:36:32 +00:00
ab4a2aaf4a style cleanup: follow style guide for formatting of if/for/while loops, and else if's 2012-03-24 06:38:07 +00:00
7ba12321ec #collada skeleton animation import, fixes #29246
Apply part of the patch #30070 by Juha Mäki-Kanto, that takes into account the transform of non-joint type parent in bone animation computation. Thanks!
2012-03-22 13:35:52 +00:00
8634d0e9c1 #collada instance_node import, partially fixes #27629
Patch applied in r37663 caused loss of <instance_node>s.

All parts of the smaller test file attached in the report now import.
2012-03-17 06:37:26 +00:00
89a963fb7f style cleanup: comment blocks 2012-03-09 18:28:30 +00:00
1148344f46 fix #30440, Collada import: no faces/uv after bmesh merge
Seems too simple, just missing call to convert_mfaces_to_mpolys.
2012-03-06 19:50:07 +00:00
c2760307e8 #collada skeleton import, bugfix #29621
Do not crash when joint SIDs cannot be resolved.

OpenCOLLADA cannot resolve joint SIDs connected to skin if the <skeleton> tag is missing.

Page 148 of COLLADA spec 1.4.1 states: "<skeleton> elements define where to start the sid lookup". So I think this is a bug in "FBX COLLADA exporter" which did not add the <skeleton> tag.

The problem can be fixed by manually adding the <skeleton> tag into <instance_controller>.
2012-03-04 13:43:23 +00:00
7bbf4b7831 style cleanup
- spelling - turns out we had tessellation spelt wrong all over.
- use \directive for doxy (not @directive)
- remove BLI_sparsemap.h - was from bmesh merge IIRC but entire file commented and not used.
2012-03-02 16:05:54 +00:00
d2cab3e8b0 move bmesh wiki docs into bmesh header and update doxygen.
also have doxygen ignore *.py files and fix some warnings.
2012-02-27 20:27:19 +00:00
47c373c7a9 style cleanup (mostly whitespace) 2012-02-27 10:35:39 +00:00
3fc2fbc333 style cleanup, use { on newline after function definition.
spelling 'impliment' -> 'implement'
2012-02-25 16:49:59 +00:00
2d8227f204 Collada export: bone parenting is actually against the tail.
Don't know the reasoning for having it be against the tail and not the head.
2012-02-24 21:45:59 +00:00
adba42beaa Collada export: fix no polylist after bmesh-merge
Just needed a call to BKE_mesh_tessface_ensure when exporting geometries.
2012-02-24 21:15:58 +00:00
dc68210c7e misc changes from trunk (avoid confusion since these were not intentional differences) 2012-02-19 18:41:30 +00:00
d6deca4e9d Fix #30230, Crash after importing collada file
On collada import a -1 layer_index from CustomData_get_layer_index (CD_MTFACE) was used.
This then managed to overwrite last mface's data with uv-set's name so at least it gave a clue where to look for :]
2012-02-19 17:55:09 +00:00
bd0f7a290b svn merge ^/trunk/blender -r44213:44235 --- fixes bmesh shading bug [#30125] 2012-02-19 03:19:58 +00:00
f75bf20c81 Fix rest of #27022, collada export: add bone parenting of objects
- SceneExporter collects a list of child-objects for armature-object and passes it onto ArmatureExporter
- SceneExporter's writeNodes is then called from ArmatureExporter for matching child-objects for bone.
- ArmatureExporter removes written child-objects from list, objects not exported as being bone parented are exported as direct children of the armature-node.
- Should play nice with current Second Life-compatibility.

A nicer implementation would require some design changes, will have to wait.
2012-02-18 16:55:41 +00:00
7beddb7506 Collada export: changes to joints/weights in skincontroller
- Collecting joints/weights in one place, it's easier to exclude zero weights or vertexgroups with no matching bone than trying to match same logic in multiple places.
- Still not exporting -1 joints for vertices without weights, but also not outputting -1 joint + weight for each vertexgroup without a matching bone.
- The exported weights are now normalized.

Last I tested this patch stopped 3ds Max crashing on import of file from #29465 (opencollada / internal .dae).
2012-02-18 16:20:24 +00:00
e6b708b36b Minor change collada export; don't even run the parentinv-test when ob->parent is NULL 2012-02-18 15:41:09 +00:00
f3bef40b0c #collada animation import, bugfix #29082
Fix skeletal animation import for <rotation>, <scale> and <translate> transform types.

Tested for correctness visually using Seymouranim2.dae from http://collada.org/owl and animated creatures from DKGamesModels folder (from private section of the same site). The results match the results in FXComposer-2.5.

Since this is a fix towards correct reading of collada, it shouldn't break existing compatibility with Second Life.
2012-02-18 06:22:20 +00:00
48006292d8 svn merge ^/trunk/blender -r44189:44204 2012-02-17 20:56:25 +00:00
2b7ca2304a unify include guard defines, __$FILENAME__
without the underscores these clogged up the namespace for autocompleation which was annoying.
2012-02-17 18:59:41 +00:00
2d1a05874b svn merge ^/trunk/blender -r44024:44076 2012-02-13 04:14:35 +00:00
c61e03c229 collada export: Don't write parentinverse if ob->parent is NULL 2012-02-12 15:30:07 +00:00
3937ec7d11 svn merge ^/trunk/blender -r43887:43918 2012-02-05 22:13:10 +00:00
2cb3fe3dfd Patch #30050 by Juha Mäki-Kanto (kanttori)
Fixes for Collada exporter.
Adds Second Life compatibility for armatures
Adds objects parentinverse to exported transform if it's non-identity
Fix mismatch between add_inv_bind_mats and add_joints_source accessor counts
Fix bone exports in world space should be local space
2012-02-05 16:19:28 +00:00
075fee4d58 svn merge ^/trunk/blender -r43830:43864 2012-02-03 01:30:21 +00:00
5d6527dd3e Patch #29705: Collada export didn't export mesh name.
Added name= parameter to geometry nodes in Collada export
2012-02-02 10:34:44 +00:00
2b2c1007f6 rename normal calc functions.
comparing bmesh to trunk, mesh_calc_normals() in bmesh is a much more comprehensive function, calculating mpoly,mface normals, where trunk only calculated vertex normals.

renamed:
* mesh_calc_normals() --> mesh_calc_normals_mapping_ex
* mesh_calc_tessface_normals --> mesh_calc_normals_tessface() - only calculates normals from tessface
* added mesh_calc_normals() - only calculates normals from poltys

this way we can have mesh_calc_normals() remain fast for parts of the code which only need vertex normals to be updated.

only refactor, no func changes- didnt replace mesh_calc_normals_mapping_ex() with mesh_calc_normals() anywhere yet.
2012-01-06 00:08:37 +00:00
50ca81154e svn merge ^/trunk/blender -r42973:42991 2011-12-30 09:23:06 +00:00
6d965f4493 style edits for function declarations 2011-12-30 07:55:15 +00:00
db6cb30941 svn merge ^/trunk/blender -r42669:42670 2011-12-16 23:50:55 +00:00
3311164b24 Math lib: matrix multiplication order fix for two functions that were
inconsistent with similar functions & math notation:

mul_m4_m4m4(R, B, A) => mult_m4_m4m4(R, A, B)
mul_m3_m3m4(R, B, A) => mult_m3_m3m4(R, A, B)

For branch maintainers, it should be relatively simple to fix things manually,
it's also possible run this script after merging to do automatic replacement:
http://www.pasteall.org/27459/python
2011-12-16 19:53:12 +00:00
bc9b593909 More DM func renames, fixing some build breaks, renaming more stuff, also seems like it might be fixing the recent CDDM_copy corruption/leak bug 2011-11-30 18:03:56 +00:00