blender_add_lib now takes a separate include argument to suppress warnings in system includes (mostly ffmpeg & python).
also only build wm_apple.c on apple+carbon configuration.
* simplify export and import, now that we have blender profiles for lights. The vanilla import is now more in line with the specs. If a blender profile is found, skip normal import, use the profile data instead.
* multiply energy into color rgb export (common profile).
* recalc distance taking metrics in account
reported by Juan Linietsky
The export was not really wrong, but Maya expects their profile to be present inside <geometry>. Added this for mesh with ME_TWOSIDED flag set.
Ideally this will change in the future to be controllable through options to the exporter (like current Google Earth and 3DS Max extensions for <double_sided>).
reported by Juan Linietsky
Export <specular> for <phong> and <blinn> shaders, <shininess> was already being written for these.
<lambert> shader doesn't have <shininess>.
Right now we write <phong> when blender spec is phong, <blinn> when blender spec is blinn. When spec is
any other shader, and diffuse shader set to lambert, we export as <lambert>. Any other combination defaults
right now to <phong>. This will change when Blender specific profiles have been created for the shader
combinations in Blender.
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.
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.
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.
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.
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.