Some notes about code status:
* The Blender modifications were fairly quickly put together, much more code
polish and work is needed to get this to a state where it can be committed
to trunk. Files created with this version may not work in future versions.
* Only simple path tracing is supported currently, but we intend to provide
finer control, and more options where it makes sense.
* For GPU rendering, only CUDA works currently. The intention is to have the
same kernel code compile for C++/OpenCL/CUDA, some more work is needed to
get OpenCL functional.
* There are two shading backends: GPU compatible and Open Shading Language.
Unfortunately, OSL only runs on the CPU currently, getting this to run on
the GPU would be a major undertaking, and is unlikely to be supported soon.
Additionally, it's not possible yet to write custom OSL shaders.
* There is some code for adaptive subdivision and displacement, but it's far
from finished. The intention is to eventually have a nice unified bump and
displacement system.
* The code currently has a number of fairly heavy dependencies: Boost,
OpenImageIO, GLEW, GLUT, and optionally OSL, Partio. This makes it difficult
to compile, we'll try to eliminate some, it may take a while before it
becomes easy to compile this.
icon is set'
* Main problem was calling BKE_icon_changed too much, blocked previews
from updating
* Also fixed clearing the icon when it's not a valid image path
Review link: http://codereview.appspot.com/4356045/
blocks via PyAPI/RNA
For example:
ob = bpy.context.active_object # assumes default cube has some drivers
added already before running script
dst = bpy.data.objects["Camera"]
adt = dst.animation_data_create()
for driver in ob.animation_data.drivers:
new_driver = adt.drivers.from_existing(driver)
- added notes to release todo's.
- renamed view3d view transform matching functions.
- added assert in edge split modifier to make a certain bug easier to spot.
- making local object data - Curve/Mesh/MBall lost references to linked materials.
- joining a linked mesh object into a local one lost the link.
As well as these reported bugs, checked all local functions for consistency/correctness and found other cases which would also fail.
- making local metaball didn't ensure unique ID name.
- make_local_armature() was missing check for object users - main body of code would never run.
- local particles didn't set the dupli-group or textures to extern.
checked all local functions for consistency/correctness.
* Implemented a new operator "WM_OT_properties_context_change" to switch to a different tab inside the properties window.
* This is used now inside the Modifier tab for Simulation Modifiers. Based on a mockup by Janne Karhu:
http://www.pasteall.org/pic/11261http://www.pasteall.org/pic/11262
Rather than having a delete button there anymore, the button changes the context to Physics/Particles, where you can edit the settings and delete the actual simulation.
- When strength is 0, there's no need to perform any of the
calculations at all
- When the vertexgroup weight for a vert is set to 0, skip evaluating
the modifier for that vertex as it should result in no-change to the
final result
- allow RegionView3D.view_matrix to be set.
- RegionView3D.view_rotation was inverted.
- add C function view3d_settings_from_mat()
note, intentionally removed NULL checks, double checked this is ok with callers.
- made EXPANDED_AGRP take bAnimContext as an argument.
- remove unneeded NULL check drawFacesColored functions.
- comment some vars which are set but not used.
It's not real fix, just patch which makes things better by using average
normal for each displist separately. There are still some artifacts with
quite highly deformed letters "O" or "g", but correct fix would need
to calculate derivative of modifiers, which isn't implemented yet.
- ghost C api, BLI_get_folder_version() could assign garbage values.
- pointcache ptcache_find_frames_around() had a superfluous NULL check which would have crashed anyway if actually NULL.
Keymaps for subdivision_set operator were only added for Object mode.
Since this is useful for meshes in particular, added these in EditMode
keymap for mesh editing too.
Vertex offset, which was used to update referenced keys was calculating between
editmesh (which represents shapekey data) and base mesh (ob->mesh) which represents
Bases key.
This commit fixes bug with incorrect ofsset calculation for case when some keys
got other (not Basis) keys as relative key by calculating offset using EditMesh
(new shapekey data) and keyblock data (which was used to create EditMesh when
entering edit mode).
This commit shouldn't lead to regressions, but maybe there's something else
which should be fixed for such kinda complicated cases -- more testing would
be welcome.
======================
All this work with sculpting on armatured/deformed mesh allowed to
implement sculpting on non-locked keys very easy -- just use the same
approach of propagating offsets from deformed PBVH to "sculpting layer".
- If key is locked, then old logic would be used.
- If there's multires modifier enabled, sculpting would happen on multires.