Full log:
http://www.blender3d.org/cms/Render_Passes.829.0.html
In short:
- Passes now have option to be excluded from "Combined".
- RenderLayers allow to override Light (Lamp groups) or Material.
- RenderLayers and Passes are in Outliner now, (ab)using Matt's nice
'restriction collumns'. :)
IDP_GroupIterNext returned void* rather then IDProperty*.
Made it IDProperty*.
BTW, any people out there interested in using IDProperties
from the C side, feel free to email me comments and (especially!)
file bugreports assigned to me in the tracker. :)
Outliner: the new 'restriction' options were drawn as buttons, and created
always even when not visible. Gave big slowdowns on large data sets.
Also: help lines were drawn as shorts, should be floats
Cannot fix: button coordinates are short by default still, giant outliner
data sets draw buttons in wrong location.
Did add nice feature though; on several events the outliner now is not
being re-built anymore, but redrawn only. I want to be a bit conservative
with it though... but it happens for:
- LMB drag to select items
- pageup/down, scrollwheel, mmb scroll
- search item
- show active item
- toggle selection
Makes a good difference :)
with Ton on IRC. This feature was old, something of a hack and didn't really
work well with the modifier stack. To paraphrase Ton: We want to make blender
higher quality, so poorly thought out code should be removed, or replaced
with decent implementations.
- Unitialized variable in new shadow code caused Sun lamp shadow to not
work.
- Ipo handle bug: when the handle was vertical it flipped around
- Loop select: unitialized variable caused it to work unpredictable in
cases. Also found an unitialized var in collaps_edgeuvs().
- Crash, caused by commit of 1 hour ago to fix 'All Z' render problem
- Bug: yesterday's fix for node material renders caused some issues with
precalculating correct shadow.
- Composite Translate node: input sockets allowed multiple inputs
Now it is possible to 'protect' action channels and constraint channels.
* When a channel is 'protected', the only operation possible on keyframes
is selection. All other operations are not able to be performed.
* The padlock to the right of each channel's name toggles the protection
status of that channel. You can only alter the protection status of one
channel at a time.
Todos:
* Menus still pop up when trying to do stuff to keyframes even if
all the keyframes selected are from protected channels.
* Shapekey channels shown in action editor should also get locks
This is the last of the changes needed to support all the EditMesh data that
previously worked only with the regular Mesh, so this should fix bug #5331,
Various problems with Editmode Undo and Multi-Resolution Meshes.
- from all selected nodes
- only connections between highest order socket types; so if there's RGBA
and Value sockets, only RGBA sockets are connected. This because in
these cases the Value sockets usually are for user input.
Example: Mix node.
Thanks Trip for the hint!
- Blur nodes didn't accept RGB buffers (only RGBA or single channel ones)
- Mix node had maximum for 'mix' on 1.0, for passes edit that could become
more, made it 5!
This commit upgrades the modifier stack to only calculate the data which is
needed, either by modifiers further down the stack or by other functions at
the end of the stack (e.g. drawing functions).
This speeds up modifier stack recalculation, especially where vertex
groups and UV coordinates are concerned. For example, a mesh with an Armature
modifier followed by a Subsurf modifier would previously have required the
Subsurf modifier to interpolate all the vertex groups in the mesh, slowing
down modifier calculations considerably. With this update, vertex group data
is not propagated beyond the Armature modifier, so calculations are faster.
Note that this depends on the order of modifiers in the stack. If the Armature
and Subsurf modifiers were swapped in the above example, the Subsurf modifier
would have to interpolate vertex groups, as they are needed by the Armature
modifier.
* Now it is possible to invert the selection status of keyframes and markers.
These options can only be found in the Select menu in the header.
* It is also possible to select the keyframes that occur within the 2
'extreme' selected markers. Hotkey for this is Ctrl K
Now it is possible to column select keyframes that occur on the
same frame as selected markers with the hotkey: SHIFT K
More selection goodies to come :-)
Cleaned-up drawing code of keyframes. Code redundancy has been
reduced, and there should be slight performance gains (less looping,
no sorting of keys needed, possibly less memory usage).
Now, when auto-keyframing, there is the option to have 'cleaner'
ipo curves. This is a user-pref option, and is based on the same
code responsible for the 'Only Needed' keyframing mode.
* Bugfix for Nicholas Bishop's recent sculptmode hotkeys:
When entering text in a text object, hotkeys were not disabled,
eg. type n = floating panel appears press 2 = layer 2 becomes visable.
Was 'if' instead of 'else if'
Reported by mfoxdogg on cvs.
Fixed an off by one error in Speed Controller.
If no IPO is present, enlarging the strip will now "stretch" time.
Shrinking doesn't work right now because of stripdata-handling...
using the standard drawing functions. Enabling the "Partial Redraw" item in the
sculpt menu will turn on the optimizations which stores unmodified parts of the
color buffer and only redraws the polygons that are within the modified area(s).
The Partial Redraw option uses the accumulation buffer to store the copy, and
unfortunately this is not accelerated on older cards. There are alternatives,
e.g. drawing to an auxiliary buffer or downloading the data from the graphics
card with glReadPixels, but there's no guarantee that these will run at an
acceptable speed on older graphics cards either. For the cards that do
accelerate the accumulation buffer (for nvidia cards, I would assume that is at
least FX5200 and up, and maybe earlier) it provides a very significant speedup.
BPy conventions were not being followed for PyObject_New;
now they are. I still doubt the usefullness of doing this,
however its important to maintain module standards.
Which reminds me, anyone know where I can get that source code
prettier that was used on the api files? It was kindof
hard following the coding style of bpy with it being so
different from normal blender, and also what with having
to write the IDProperty code from scratch. :)
http://projects.blender.org/pipermail/bf-committers/2006-November/016311.html
As recommended on bf-committers, I created an entirely separate section for
sculptmode hotkeys, so none of the standard hotkeys in space.c carry over.
(However, the standard hotkeys in toets.c are left unchanged.)
There are probably some useful hotkeys that have been disabled with this commit,
and other hotkeys that still need to be added, so this needs review.
PYobject type has changed
Usual C++ pickyness about implicit casts
debug made with erwin. thanks
Note to python mainteners :
even if it compiles there is a *Huge* list of warnings about deprecated
and incompatible pointers in api2.2. this should be corrected
Modified version of patch #5281 by Joshua Leung.
It's a two part patch:
Add a Roll button in the transform properties floating panel with bones selected in edit mode
Add a Roll transform (Ctrl-R) that can be used to modify the roll of selected bones in edit mode
The transformation modifies the roll of all selected bones incrementally (like a rotation does to the bones' rotation) [that is the part that differs from the patch. The patch would set the same roll value to all bones]
Also, this commit includes some shuffling around of the functions, to keep the previously logical order. :)
Based on patch #5140 by Juho Vepsäläinen, this commit removes the requirement to type # at the start when you want to use Python expression evaluation when typing a value in a button.
In a nutshell, that means you can now type 3 + 5 in a numbut and see it change to 8.
Word of warning: The normal Python operator logic applies, so if you type in 1 / 3, you'll get 0 and not 0.333. There's no going around that.
Patch by Matthew Plough: This adds an option to the Track To constraint to use the target's Z axis for Up axis reference instead of the global Z axis.
Off by default for backward compat.
- GEdon't crash when attempting to add constraint on game objects without physics controller
- GEimproved some physics -> graphics synchronization issues
- small experiment with game engine timing to smooth framerate/reduce tearing
Doing NULL pointer paranoia check in time.
It's completely pointless calling the function with null pointer,
but who knows.
At least it does not crash then.
Multires operations now pay attention to vertex flags, so both selection and
hiding are propagated up and down the levels.
Note: only the lowest level of detail for vertex flags is retained when
switching levels. E.g., after selecting vertices at the highest level, then
switching to the lowest level, then back to the highest level, the vertex
selection will have changed. (This is a potentially fixable issue.)
Now it is possible to mirror selected keyframes in the action editor;
either over the current frame or the vertical axis.
Hotkey is: SHIFT M (like in ipo editor).
although it has a lot of noise. Not to mention our bad string code gives
a load of warnings.
I've reviewed specifically:
- file reading/write
- dna and library code
- node system
- entire render module
Done a couple of files in src/ too, seemed to be nice errors.
Actually no real bug, but unfinished work in Composite:
The ZCombine node only accepted images, no value inputs for sockets.
Now only the first (top) input socket should be an image, the other ones
can use constant color or values too. Nice way to split an image in
foreground and background.
Also: added an output socket for the resulting Z value.
Do note that zcombone is aliased, no AA or sample info is available.
That's for another time.
- Outliner now shows hierarchy for Libraries, indicating which Library
files invoked loading another.
- SHIFT+F1 "Append" browser has a Library menu, allowing to directly browse
into all open library files. This will prevent accidents like re-opening
a same .blend via another path.
Another bug from the tracker, reported by Mike Stramba.
A duplicated Py_XDECREF in the wrong place made assigning
arrays from Vector objects not work.
Also, fixed nasty bug in C API of idproperties (the function
to look up a property from a group was broken). Fixed a memory
leak too.
In addition, made "del group['property']" delete properties
from group; previously this would just crash (or at least it
should have). Added a small addition to the example in the
epydocs for IDGroup.
didn't keep in mind the pose channels could change order...
Note the disabled code in readfile.c; will be finished later. It's for
debugging library dependencies.
- WeightPaint used 'max vertices' as 'max faces' for paint, so some faces
could not be painted on. (bug introduced last week, with global undo)
- Bake Render: when no Image window open, baking crashed.
More referenced library issues: if an Object loses the Armature (because
for example the linked file removed it) the Object still had the Pose and
posemode flag set, crashing Blender.
The first incarnation assumed that proxies were local objects per
definition. Unfortunately that makes it impossible to - for example -
reference-link an entire Scene with proxies, to be used as a special
character set.
This commit makes the proxy implementation also a bit more clear.
Related work: the scene-sets were not executed fully or correctly for
the dependency graph. That happens now (in 3d view) as well.
ACTWIDTH is a macro that tries to get actwidth from the active
SpaceAction (G.saction->actwidth). This should solve any potential
problems with having two action editors open editing shapekey
actions.
Also, I've fixed a compiler warning caused by erwin's constraint
commit. Wrong ui call for button.