Applying Stephan Kassemeyer's patch (#6750) to add a curve modifier for sculpting.
A few changes from the patch:
* The default curve is closer to the old behavior
* Fixed loading files already saved in sculpt mode
* Changed the interface; split the brush texture controls off into a third sculpt tab, and put the curve (and curve reset) into the Brush tab.
============================
- Strand render now has options to remove child strands as
the object's faces becomes smaller, in the Simplification
particle panel.
- "Reference Size" is the approximate size of the object on
screen, after which simplification starts.
- "Rate" is how fast strands are removed.
- "Transition" is the percentage of strands being faded out as
they are removed.
- Another "Viewport" option removes strands on faces that are
outside of the viewport. "Rate" again controls how fast these
are removed.
- Strand render in Blender Units now has an adjustable minimum
width. Below this minimum width, strands start fading out
instead of getting smaller.
Useful to use before sending blend files to the renderfarm.
* Make all Paths Relative - makes any absolute paths relative.
* Report Missing Files - creates a textblock listing all missing files.
* Find Missing Files - searches a directory recursively for filenames that dont exist at their current path.
Added a path looper type and functions that currently loop on image, sound, font and external library paths.
This option (found in the View menu) shows all Action Channels, regardless of whether the data they represent is visible or not.
It's better than having to have multiple pinned Action Editors open to be able to move all keyframes of all bones at once (when blocking for example).
Also, fixed some compile errors caused by previous commit...
The TIFF reader did error handling with assert which is a pretty bad
idea (tm).
This fixes the assert-crash, that the TIFF reader triggers, if one tries
to open a RAW-DV file within the compositor. (File extension is only
two characters long, which is enough for an assert... EVEN IF IT ISN'T
A TIFF FILE, WE ARE GOING TO OPEN. GRMBL)
Removed all other assertions and added proper error handling.
(using STDERR, where it belongs.)
Now the Copy/Paste functionality stores more info about where keyframes came from. This allows users to copy full poses in the Action Editor and paste them in another action.
Peach request/bugfix for William.
rendering to the image editor missed one case, could result in
modifiers and particles being evaluated with G.rendering == 1 but
still showing in the viewport.
Now Long-Keyframes in the Action Editor (yellow/pink strips between keyframes) take into account whether the keyframe handles which help control the interpolation between the two keyframes stay at the same value as the keyframes do.
This way, long keyframes are not drawn when the keys have the same value, but there's still movement between them.
When using a pinned action, "Add New" now makes a new action. This new action is only assigned to the current Action Editor (i.e. not to any active object, as one might not exist, or might not be the object that the action is related to).
* Alt-A now only plays the animation in the active space, if that space is a 3D-view. Otherwise, it plays the animation in all spaces. The old behaviour simply didn't make sense for animation editors, where you'd simply see the current-frame marker moving...
* Alt-Shift-A now plays the animation in all spaces regardless of whether they are active (including 3d-views)
This is the review of the patch:
[#5485] Invisibly stamp render information into jpg and png files.
by Rob Hausauer (paprmh)
NOTE: I split this patch in 3 part:
1) jpeg support
2) python api
3) sequence plugin
This is the first part, hope finish with the other two tomorrow night.
=========
- The render and realtime button for the particle system modifier
and the enabled button for particles now work seperate again,
made a bad design decision to tie them together. Now with only
the render button and not realtime enabled it renders.
- Fix for bug #7948: particle mode crash while constraining axis.
- Fix for bug #7945: crash loading effector groups from an old file.
- Fix for bug #7942: crash for reactor particles emitting from particles.
===============================
- One shadowbuffer per thread.
- Added more break tests in shadow buffer code.
- Removed R.clipcrop global, solution is not nice yet, but at
least threadsafe.
- Fixed bug in strand render shadow buffer code.
I was careful in selectively rolling back revisions, but if you've committed changes unrelated to BPY mixed with BPY changes, I might have reverted those too, so please double check.
* Some joints were identified multiple times, which caused a "too many joints" error when only 2 joints were selected
* When no joints were selected, "too many joints" error was displayed. This has been changed to "no joints selected"
* Fixed a memory leak that occurred when "too many joints selected"
* Mostly fixed a few more of the tp_base errors, in the manner that Ken did...
* There's still a weird warning in draw.c about some function being used but not defined
* I've included the source splitting hack here too, as I was getting problems getting it to link the files...
http://wiki.blender.org/index.php/Rewriting_the_2.4x_BPython_API
Some areas are not yet finished, the 2.4 api can remain "import Blender" and the bpy api "import bpy" gives access to the new api.
Todo
* event, link, etc are not assigned to Blender.*
* Scripts need to be tested and updated.
* Scripts cannot mix bpy and Blender modules anymore.
* Makefiles need to be updated (only works with scons now)
* Make the 2.4 api optional with IFDEF's
* Lots of testing and small fixes
* Added display of current chain-length setting to the header, when transforming with Auto-IK on
* Removed debug print accidentally left in
* Fixed compiler warning in buttons_object.c
Patch [#7849] by Jetze van Beijma, strike 2.
The first patch fixed the size of the scroll bar, this one fixes drawing of selected text area (the redish area in the scrollbar).
=================
Big commit, but little user visible changes.
- Dupliverts and duplifaces are now rendered as instances, instead
of storing all of the geometry for each dupli, now an instance is
created with a matrix transform refering to the source object.
This should allow us to render tree leaves more memory efficient.
- Radiosity and to some degree raytracing of such objects is not
really efficient still. For radiosity this is fundamentally hard
to solve, but raytracing an octree could be created for each object,
but the current octree code with it's fixed size doesn't allow this
efficiently.
- The regression tests survived, but with I expect that some bugs will
pop up .. hopefully not too many :).
Implementation Notes
====================
- Dupligroups and linked meshes are not rendered as instances yet,
since they can in fact be different due to various reasons,
instancing of these types of duplis that are the same can be added
for them at a later point.
- Each ObjectRen now stores it's own database, instead of there being
one big databases of faces, verts, .. . Which objects that are actually
rendered are defined by the list of ObjectRenInstances, which all refer
to an ObjectRen.
- Homogeneous coordinatess and clipping is now not stored in vertices
anymore, but instead computed on the fly. This couldn't work for
instances. That does mean some extra computation has to be done, but
memory lookups can be slow too, and this saves some memory. Overall
I didn't find a significant speed impact.
- OSA rendering for solid and ztransp now is different. Instead of e.g.
going 8 times over the databases times and rendering the z-buffer, it
now goes over the database once and renders each polygon 8 times. That
was necessary to keep instances efficient, and can also give some
performance improvement without instances.
- There was already instancing support in the yafray export code, now it
uses Blender's render instances for export.
- UV and color layer storage in the render was a bit messy before, now
should be easier to understand.
- convertblender.c was reorganized somewhat. Regular render, speedvector
and baking now use a single function to create the database, previously
there was code duplicated for it.
- Some of these changes were done with future multithreading of scene
and shadow buffer creation in mind, though especially for scene creation
much work remains to be done to make it threadsafe, since it also involves
a lot of code from blenkernel, and there is an ugly conflict with the way
dupli groups work here .. though in the render code itself it's almost there.
Submitted by: David Bryant (digikiller)
This patch adds two new drawtypes for empties in Blender:
* Sphere
* Cone
These draw with wireframes which are slightly more complicated than for other empties. However, this shouldn't really be an issue.
-- Peach request (from wiki feature request list) --
When translating a bone using Auto-IK, you can now use the ScrollWheel on the Mouse or the Page Up/Down keys to adjust the chain length.
Notes:
* Up decreases the length, while Down increases it.
* The previously used chain-length is stored per scene
* Currently, it might be too sensitive. Also, it would help to have some kind of indication of the current chain-length somewhere...
* The chain length specified this way determines the MAXIMUM chain length possible for all chains (if 0, then the default chain-length is used). Chains are clamped to have a chain length which does not exceed the default chain length. This restriction may be removed following further feedback...