- glReadPixels() was running to get the depth on each pixel, this works fine one some cards but was locking up on OSX.
- Replace glReadPixels() call with a single call to view3d_update_depths() right after view3d_validate_backbuf(), so the depths are only read once.
- Unrelated to the changes above, but should improve performance: view3d_validate_backbuf() was being called on every redraw while combing, now only call once when combing starts.
from Josh Wedlake (joshwedlake), who provided a reference script used to apply changes in ED_rollBoneToVector().
- Obvious bug fixed where Z-Up didnt work right.
- More align axis options to Recalculate Roll operator: X/Y/Z/View Axis & Negate.
- Axis Only option, ignore the axis direction, use shortest rotation to align bones.
ED_rollBoneToVector() changes:
- would give bad roll when the axis wasn't normalized or perpendicular to the bone.
some callers accounted for this but not all.
- option to align to the axis but not the direction.
On entering editmode Curve/Nurbs, the undo buffer was not
correct; storing old Curve/Nurbs object name. This caused
for example the Operator tool redo options to fail; it added
another curve on first use (with user pref "enter editmode).
Solved with adding good undo push + nicer code for curve and
nurbs naming.
With some own changes:
- Select pick moved to invoke()
- Used editsurfcurve_region_view3d as poll function for this operator
due to ogl dependency
Thanks to Elia Sarti (vekoon)!
* Keyframing operators now use the reports system for displaying all its error messages.
- The benefit of this is that users no longer need to check the console for error messages if keyframing fails.
- Unfortunately, reports are not currently viewable in any space/view in Blender, so...
* Added a temporary operator (UI_OT_reports_to_textblock), which can be accessed in the UI from the button which appears in place of the icon when more than one report exists. This dumps the current list of reports to a textblock "Recent Reports", from which they can be viewed.
This isn't really nice, but at least we now have a way to view these again, which makes debugging some things a pain.
* Bugfix #24606 - when trying to add keyframes to F-Curves with F-Modifiers already which alter the curve significantly enough that the keyframes will have no effect, there are now warnings which aim to alleviate any confusion.
Also use const char in many other parts of blenders code.
Currently this gives warnings for setting operator id, label and description since these are an exception and allocated beforehand.
Fixed old annoyance in Search menu, with a load of object-mode
operators showing up in editmode.
It's much cleaner now, but it will take further work and
investigation to have context & polls work satisfying for all cases.
Ton will work on moving the File menu out of the Info space before release.
notes.
- reply Operator isn't working anymore.
- UI for reports is commented out so its not mixed with the file menu.
- Home or Numpad Period with smoothview disabled were not syncing up the other views.
- Disabling clip only disabled clip syncing but left clip enabled for all views.
- Clip was being calculated for every update even when not enabled.
- The perspective view was being used to copy settings from when changing box & clip settings, resetting the distance each time. Now use one of the aligned views instead.
Bringing back missing feature: Create new directory by typing a not existing name into the directory button.
Note: Small issue still with autocomplete -> if typing the new directory directly after autocomplete, it doesn't execute the operator yet.
Also fixed some minor compile/cleanup issues with warning about signed/unsigned comparison and missing header.
Added extend option to lasso.
also...
- selecting bones wasn't checking their layer of if they were hidden in a number of places.
- fixed memory leak.
small unrealed changes
- added PBONE_VISIBLE macro
- renamed functions used for paint selectoin from *_tface to paintface_*. sine they no longer have anything todo with tface's.
- removed scanfill include from BLI_blenlib.h, this is only used in very few places and quite specific.
Noticed lasso select is broken for metaballs and face mask mode but this has been the case for a while, will look into it next.
The problem is the opensource nvidia nouveau drivers are slow running glReadPixels(), was hanging on memcpy().
However for autodepth its not needed to update the entire 3D view depths, so added view3d_update_depths_rect() to get the depths for a smaller area.
also added api function ED_area_tag_redraw_regiontype(), so an area can redraw all regions by type.
In this case there is a view3d area listener that needs to draw all WINDOW regions.
Fixed bug #24239, "Fkey doesn't work in image paint unless also in 3D texture paint"
* Fixed brush cursor not showing when painting in the image editor without 3d texture painting enabled
* Fixed fkey not working when not in 3d texture paint
Note:
This does not handle showing the brush cursor when reloading a file saved with image painting on but 3d texture painting off. The method used for object paint modes doesn't apply quite the same here, so I left that alone for now.
- removed deprecated bitmap arg from IMB_allocImBuf (plugins will need updating).
- mostly tagged UNUSED() since some of these functions look like they may need to have the arguments used later.
- made interface, windowmanager, readfile build without unused warnings.
- re-arranged CMake's source/blender build order so less changed libs are build later, eg: IK, avi
- Added EM_project_snap_verts so other functions can re-use this, similar to old retopo_do_all().
- Changed how the normal for selected geometry is calculated, was accumulating half selected edge's into normals which was OK with even surrounding geometry but could skew too easily if the surroundings were not so even. Now use the 2D screen space selected edge vector to calculate the normals in relation to the target mouse position.
- Option to rotate initial selection, gives better results in some cases. (Ctrl+Shift+Click to disable)
http://wiki.blender.org/index.php/File:ClickExtrudeFix.png
* First frame was dropped some times when animation was running because clicking "go to start/end frame" changed the current frame directly.
* Now only the animtimer changes the frame and clicking the "go to" queues the next frame for animtimer.
The error for heat weighting was only being printed in the console, while the problem remains at least a warning is now given that there was a problem calculating the heat weight.
also fixed a memory leak from the mesh octree not being freed after assigning vertex groups. (ModNode error)
Reported by Roland Kramer
There was already code to prevent visibility toggle through restrict column from working when in edit mode. Reshuffled
code somewhat so it works also for object operations in outliner. Also ensure operator poll for visibility and selectability toggle
checks object is not in edit mode. So this also works for selectability toggling, so no more toggling when in edit mode - it's confusing otherwise.
Added notifier and handling for it for renderability toggle in outliner. No edit mode restriction here.
Submitted by Shane Ambler.
The original patches made an enum for action zone edges, changed positioning for minimised icons and repositioned minimised icon for operator properties panel.
I kept the enum idea, but further improved on the naming. Some switches used in place of if/else blocks and added some comments. See patch tracker for more comments.
- BKE_add_image_extension now sets the extension rather then appending. (no more image.jpg.tga)
- py/rna functions which have no return value now raise an error if a non-None value is returned.
- added back the red-alert flag so buttons can have a red highlight if somethings wrong.
was missing a call to glLoadName(-1); so drawing commands after the bone were taken into account with the selection.
made some other minor changes that dont change functionality.
By Luca Bonavita (mindrones)
The patch renames and moves gl_round_box, gl_round_box_shade and gl_round_box_vertical_shade to UI_interface.h, so the extern usages are not needed anymore.