Blender Git Commits

Blender Git "master" branch commits.

Page: 3344 / 5574

December 31, 2012, 13:52 (GMT)
Removed byte glow effect from sequencer in favor of float one.

Byte glow was disabled in previous commit and code is removed now
in separate commit for easier revert if that'd be needed.
December 31, 2012, 13:52 (GMT)
Alpha premul pipeline cleanup

This assumptions are now made:
- Internally float buffers are always linear alpha-premul colors
- Readers should worry about delivering float buffers with that
assumptions.
- There's an input image setting to say whether it's stored with
straight/premul alpha on the disk.
- Byte buffers are now assumed have straight alpha, readers should
deliver straight alpha.

Some implementation details:

- Removed scene's color unpremultiply setting, which was very
much confusing and was wrong for default settings.
Now all renderers assumes to deliver premultiplied alpha.

- IMB_buffer_byte_from_float will now linearize alpha when
converting from buffer.

- Sequencer's effects were changed to assume bytes have got
straight alpha. Most of effects will work with bytes still,
however for glow it was more tricky to avoid data loss, so
there's a commented out glow implementation which converts
byte buffer to floats first, operates on floats and returns
bytes back. It's slower and not sure if it should actually
be used -- who're using glow on alpha anyway?

- Sequencer modifiers should also be working nice with straight
bytes now.

- GLSL preview will predivide float textures to make nice shading,
shading with byte textures worked nice (GLSL was assuming straight
alpha).

- Blender Internal will set alpha=1 to the whole sky. The same
happens in Cycles and there's no way to avoid this -- sky is
neither straight nor premul and doesn't fit color pipeline well.

- Straight alpha mode for render result was also eliminated.

- Conversion to correct alpha need to be done before linearizing
float buffer.

- TIFF will now load and save files with proper alpha mode setting
in file meta data header.

- Remove Use Alpha from texture mapping and replaced with image
datablock setting.

Behaves much more predictable and clear from code point of view
and solves possible regressions when non-premultiplied images were
used as textures with ignoring alpha channel.
December 31, 2012, 13:07 (GMT)
Fix #33706: issue in cycles motion blur rendering after hair commit, my fault
for not finding it in review.

Also removed the hard limits on motion blur shutter time, soft limits are still
the same but it can be useful to set things lower/higher in some cases.
December 31, 2012, 12:26 (GMT)
Usability todo:

Editmode "Shear" didn't communicate well.
- Added X and Y shortcut to set shear axis
- Added print in header to denote that.

It will still switch with MMB press too.

December 31, 2012, 12:13 (GMT)
Bug fix - post 2.65a problem:

The keymap entries for NDOF device were moved up, so the hotkey searches for
menus didn't show the keyboard shortcuts. Special devices shouldn't list as a
shortcut.

December 31, 2012, 12:12 (GMT)
Add try/catch around i18n locale setter code, just in case...
December 31, 2012, 07:06 (GMT)
add ".hh" as an extension for source scripts.
December 31, 2012, 02:40 (GMT)
rename BM_edge_calc_squared_length -> BM_edge_calc_length_squared, matching len_v3, len_squared_v3
December 31, 2012, 02:37 (GMT)
style cleanup
December 30, 2012, 23:21 (GMT)
Usual UI messages-related fixes...
December 30, 2012, 18:31 (GMT)
Code cleanup: rename BLI_pbvh to BKE_pbvh
December 30, 2012, 18:31 (GMT)
Add UI and keybindings for dynamic-topology sculpt mode

* New topology panel in 3D view toolbar with the enable/disable button
for dynamic topology and other controls

* Ctrl+DKEY to toggle dynamic topology

* Shift+DKEY to show a radial control for detail size
December 30, 2012, 18:31 (GMT)
Add symmetrize operator for dynamic-topology sculpt mode
December 30, 2012, 18:30 (GMT)
Add simplify brush for sculpt mode
December 30, 2012, 18:30 (GMT)
Use GPU_Buffers to draw wireframe when in dynamic-topology sculpt mode

This adds an override to the CDDM edge drawing function that switches
to GPU_Buffers drawing for PBVHes of type PBVH_BMESH.

Within the GPU_Buffers code, glPolygonMode() is used to draw lines
instead of faces.
December 30, 2012, 18:29 (GMT)
Hiding support for dynamic topology
December 30, 2012, 18:29 (GMT)
Update DerivedMesh for dynamic-topology sculpt mode

* Build bmesh PBVH in CDDM when dyntopo is enabled

* Disable all modifiers when dyntopo is enabled
December 30, 2012, 18:29 (GMT)
Modify info stats for dynamic-topology sculpt mode

Format is like this: "Verts:8 | Tris:12 | Cube"
December 30, 2012, 18:29 (GMT)
Add dynamic topology support to sculpt mode

* User documentation:
wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.66/Dynamic_Topology_Sculpting

* Code review for this and the other dynamic-topology commits:
https://codereview.appspot.com/6947064/
Thanks to Sergey for doing code review!

* Add SCULPT_OT_dynamic_topology_toggle operator to enable or disable
dynamic topology mode

* Most brushes need little modification for dynamic topology, but for
some it won't work well and is disabled. This decision is made in
sculpt_stroke_dynamic_topology().

* For brushes that need original data (e.g. grab brush) the topology
is not updated during the stroke, but some changes to original
vertex data is accessed were made since BMesh works a little
differently from mesh/multires. This is abstracted with
SculptOrigVertData and associated functions.

* Smooth brush gets yet another set of functions, for mesh and
multires and dynamic topology and, separetely, masking

* For most brushes, the topology is updated during the stroke right
before the regular brush action takes place. This is handled in
sculpt_topology_update().

* Exiting sculpt mode also disables dynamic topology

* Sculpt undo works differently with BMesh. Since the contents of
nodes in the PBVH do not remain static during a sculpt session, the
SculptUndoNodes do not correspond with PBVHNodes if dynamic topology
is enabled. Rather, each SculptUndoNode is associated with a
BMLogEntry.

* Sculpt undo gets a few new cases: entering and exiting dynamic
topology does an undo push of all mesh data. Symmetrize will
similarly push a full copy of BMesh data, although it does so
through the BMLog API.

* Undo and redo in dynamic-topology mode will do a full recalculation
of the PBVH.

* Add some documentation to doc/sculpt.org. This could stand to be
expanded a lot more, for now it mostly contains test cases for the
undo system.

* Add SCULPT_OT_optimize operator to recalculate the BVH. The BVH gets
less optimal more quickly with dynamic topology than regular
sculpting. There is no doubt more clever stuff we can do to optimize
it on the fly, but for now this gives the user a nicer way to
recalculate it than toggling modes.
December 30, 2012, 18:28 (GMT)
Add dynamic topology support to the PBVH

* Add BLI_pbvh_build_bmesh(), similar to the other PBVH builders but
specialized for BMesh. Whereas the PBVH leaf nodes for mesh and
grids only store a start-index and count into the primitive indices
array, the BMesh version uses GHashes to store the full set of faces
and vertices in leaf nodes

* Update PBVH iterator to handle BMesh

* Make some of the pbvh.c functions non-static so they can be used by
the new pbvh_bmesh code

* The BLI_pbvh_bmesh_update_topology() function is the main reason for
adding BMesh support to the PBVH. This function is used during a
sculpt stroke to dynamically collapse edges that are particular
short and subdivide edges that are particularly long.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021