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.
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.
--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.
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 :]
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.
by Gaia Clary.
Rationale: the name was confusing and not always used consistently, and this
map itself is not something that can be layered, rather the map can be used
as texture coordinates in some layered setup.
The original intent was to indicate this contained more than just UV's, but
the game engine settings have already been moved out, and apparently users
didn't really get this from the name anyway.
- converting nurbs to mesh was casting the material to unsigned char.
- subsurf was casting to char, then int -> short in a loop.
- have material functions take & return shorts.
Reported by David Roy
Patch by Brecht van Lommel
UV import code wasn't taking possible stride into account (always assuming stride==2), thus reading UV coords totally wrong.
reported by Rebin Cornelius.
This needs patch from upstream report http://code.google.com/p/opencollada/issues/list?thanks=164 applied to OpenCOLLADA. lib/windows/collada and lib/win64/collada have already been updated. Ensures we don't read past array boundaries.
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.
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.