The improved triangle to quad conversion is now better integrated
into Blender in several respects. First of all the code makes distinctions
between 'simple' pairs and 'complex' pairs. Simple pairs are an island of
exactly two selected triangles that are joined by an edge. These simple pairs
are subject to the old 2.42 rules for joining triangles. Complex pairs are part
of larger islands of selected triangles and their conversion is controlled by
several parameters that can be individually tweaked via new buttons located
in the "Mesh Tools" panel of the editing buttons. Furthermore the tool deals
with any arbitrary combination of simple and complex islands in a consistent and
logcial way.
The code has also been drasitcally cleaned up and should address the open
bugs in the tracker regarding alt-j. However as part of cleanup the tool has
been made somewhat slower to insure a consistent mesh structure. This is a
limitation of the exist_face() function in editmesh and will have to be adressed
at a later date.
Updated Python Mesh API to support UV and Color layers with names.
Similar to vertex group's
renamed a function in customdata.c CustomData_free_layers -> CustomData_free_layers_active and made CustomData_free_layers accept an index, this is needed so python could free layers that arnt active.
==== Rotation Snap ====
Snap is no longer limited to Translation, it works in Rotation too.
There's some bugs left with rotation snap when using constraints, I'll be ironing that next.
==== Bug Fixes ====
* Fix manipulators to always use Grid.
* Fix initialization bug (took two transform call to do a correct snap init when changing between Grid and Snap)
Now the Snap To Location (Shift S) tools for bones in pose-mode
work correctly. Previously, only one of these tools was implemented,
but it only worked in some cases.
This fixes item #4874 in Todo Tracker. Was patch #5012.
The circle drawn around the snap point is now truely constant regardless of zoom and size of the window. That size if linearly proportional to the vertex size (bigger vertex -> bigger circle).
Reason: I had to make the "BUT" type in Blender to use callbacks *after* the
uiBlock was freed, because in Blender several of these callbacks invoke
drawing, which isn't possible while a block is being evaluated.
Added support for multiple UVs in the render engine. This also involved
changing the way faces are stored, to allow data to be added optionally
per 256 faces, same as the existing system for vertices.
A UV layer can be specified in the Map Input panel and the Geometry node
by name. Leaving this field blank will default to the active UV layer.
Also added sharing of face selection and hiding between UV layers, and at
the same time improved syncing with editmode selection and hiding.
Still to do:
- Multi UV support for fastshade.
- Multires and NMesh preservation of multiple UV sets.
(saved files cannot read back, they crash).
The implementation of this option was plain accident that it even worked
once... you cannot use the API in blender that way.
Brought back the old "image properties" panel, which actually only showed
options for real-time textures. Available in pulldown menu as "Real-time
Properties".
For "Render to Image window": On re-render, the 32 bits display buffer of
a RenderResult was not freed, so it looked as if the rendered image was
not changed.
(Implementing Matt's idea)
Grid and Snap are now exclusively controlled by the Control key (pun intented).
You can switch to Snap by selecting the snap option in the Transform menu (this option is only available in edit mode on a mesh. this option is per 3D view) (NOTE: There is currently no hotkey for that, anyone should feel free to add one).
When Snap is selected, holding down Ctrl during translations (grab) snaps to vertex.
All other situations which have no snapping code yet defaults to Grid.
Please read:
http://www.blender3d.org/cms/Imaging.834.0.html
Or in short:
- adding MultiLayer Image support
- recoded entire Image API
- better integration of movie/sequence Images
Was a whole load of work... went down for a week to do this. So, will need
a lot of testing! Will be in irc all evening.
Draw a circle around the snapping point for visual aid.
Different snapping target method, switchable in the 3d view header menu in the Transform menu.
* Closest: Snaps the closest vertex to the point
* Median: Snaps the median of the selection to the point
* Center: Snaps the transform center to the point (this is different from median because you can use Cursor/Boundbox as center)
Fix a bug with constraints/snap handling.
* 'On Selected Markers' and 'Between Selected Markers' now get a
correction for NLA action scaling .
* Bugfix for 'Between Selected Markers': now keyframes that occur
on and between the selected markers get selected.
* Bugfix for 'On Selected Markers': now it only considers selected
markers (it used to consider all markers)
Work in Progress: this adds vertex snapping capabilities to translations.
As before, use the menu or the hotkey (` during transform) to turn on snapping.
Currently, snapping is restricted to translation and only snap to verts. Also, it will snap the nearest moving vert to the snapping vert.
This also has a timeout period and refreshes the snapping point only every 0.25 seconds (assuming the timer is precise enough to do that) to mitigate the slowdown due to repeated calls to findnearestvert. Eventually, a faster method will have to be used.
Also, this uncovered a bug in findnearestvert which can manifest itself as jumps and lags in snapping. People are looking into it.
Still, with all those disclaimers, get the suggestions/critics pouring in.
There was a hotkey conflict between Preview Render and Push/Pull in object mode.
This is a temporary fix, assigning Push/Pull to Alt-Shift-P (only applies to Object Mode, the rest is Shift-P as before).
* Patch #5442: "Fix Bone SizeLimit" by Heriberto Mendez (gammarayq21)
'Limit Scale' constraint can now work on bone's local scaling too.
* I've also made the 'Copy Scale' constraint able to use the local scaling
of bones too.