Revision 93f78ac by Sergey Sharybin 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. |
Revision 08cea96 by Sergey Sharybin 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. |
Revision 97c6a55 by Brecht Van Lommel 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. |
Revision fc67841 by Ton Roosendaal 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. |
Revision bec3b34 by Ton Roosendaal 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. |
Revision c0a6978 by Bastien Montagne December 31, 2012, 12:12 (GMT) |
Add try/catch around i18n locale setter code, just in case... |
Revision c9d16fd by Campbell Barton December 31, 2012, 07:06 (GMT) |
add ".hh" as an extension for source scripts. |
Revision 827f9aa by Campbell Barton December 31, 2012, 02:40 (GMT) |
rename BM_edge_calc_squared_length -> BM_edge_calc_length_squared, matching len_v3, len_squared_v3 |
Revision 1aebc0e by Campbell Barton December 31, 2012, 02:37 (GMT) |
style cleanup |
Revision b3aa368 by Bastien Montagne December 30, 2012, 23:21 (GMT) |
Usual UI messages-related fixes... |
Revision 22c02c9 by Nicholas Bishop December 30, 2012, 18:31 (GMT) |
Code cleanup: rename BLI_pbvh to BKE_pbvh |
Revision 21d79cf by Nicholas Bishop 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 |
Revision ab960ee by Nicholas Bishop December 30, 2012, 18:31 (GMT) |
Add symmetrize operator for dynamic-topology sculpt mode |
Revision 37ed697 by Nicholas Bishop December 30, 2012, 18:30 (GMT) |
Add simplify brush for sculpt mode |
Revision d342e3e by Nicholas Bishop 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. |
Revision 6ded71f by Nicholas Bishop December 30, 2012, 18:29 (GMT) |
Hiding support for dynamic topology |
Revision bbaeac3 by Nicholas Bishop 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 |
Revision ae9d6e0 by Nicholas Bishop December 30, 2012, 18:29 (GMT) |
Modify info stats for dynamic-topology sculpt mode Format is like this: "Verts:8 | Tris:12 | Cube" |
Revision 67d27db by Nicholas Bishop 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. |
Revision 2e69b0c by Nicholas Bishop 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. |
|