Campbell Barton [Tue, 4 Sep 2012 03:26:12 +0000 (03:26 +0000)]
fix for building without python, also rework python-main-loop control in the BGE to not use RNA (use lower level BKE/BLI funcs instead)
Mitchell Stokes [Tue, 4 Sep 2012 02:33:37 +0000 (02:33 +0000)]
Fix for [#32469] "standalone blenderplayer no longer starts in lastest build" reported by narutocanada. It looks like the Hive commit (r50310) didn't take changes from r49998 into account, so it was still relying on Ghost events to push the engine along instead of calling app->EngineNextFrame().
Campbell Barton [Tue, 4 Sep 2012 01:23:50 +0000 (01:23 +0000)]
fix for building on msvc2008 (also style cleanup)
Campbell Barton [Mon, 3 Sep 2012 22:53:34 +0000 (22:53 +0000)]
code cleanup: curve path calculation
Campbell Barton [Mon, 3 Sep 2012 22:04:14 +0000 (22:04 +0000)]
code cleanup: move file string defines into BLI_path_utils.h, BKE_utildefines is now unused but keep incase we want to add defines there later.
Lukas Toenne [Mon, 3 Sep 2012 18:51:02 +0000 (18:51 +0000)]
Fix for Cycles OSL: The RenderServices pointer in ShadingSystem is no longer accessible from the interface class (presumably because it is just the base class pointer anyway and would have to be casted). The OSLRenderServices pointer to our own implementation is now stored alongside the ShadingSystem in the kernel globals, so it can be accessed in thread_init.
Lukas Toenne [Mon, 3 Sep 2012 18:50:59 +0000 (18:50 +0000)]
The shader id generated by the manager contains some special flags in high bits, leading to out-of-range index if used directly. This must use the SHADER_MASK to get actual array index.
Gaia Clary [Mon, 3 Sep 2012 17:54:04 +0000 (17:54 +0000)]
fix:32348 Collada yfov to xfov conversion fo camera settings
Brecht Van Lommel [Mon, 3 Sep 2012 17:41:49 +0000 (17:41 +0000)]
Fix #32089: non-progressive integrator issue with semi-transparent surfaces.
Brecht Van Lommel [Mon, 3 Sep 2012 17:41:47 +0000 (17:41 +0000)]
Fix #32046: GHOST_DropTargetWin32 memory leak, patch by Matt D.
Brecht Van Lommel [Mon, 3 Sep 2012 16:52:59 +0000 (16:52 +0000)]
Fix #32088: cycles crash removing a lamp with non-progressive sampling.
Sergey Sharybin [Mon, 3 Sep 2012 16:08:28 +0000 (16:08 +0000)]
Fix #32372: Blender Locks up when using Quick Fluid feature
Sergey Sharybin [Mon, 3 Sep 2012 16:05:37 +0000 (16:05 +0000)]
Fix regression introduced in recent jobs system refactoring
Fluid simulation job progress wasn't displayed anymore.
Howard Trickey [Mon, 3 Sep 2012 14:37:34 +0000 (14:37 +0000)]
Fix knife bug #30764, failure to cut sometimes.
Two bugs: first, the point-in-face function had a bug that made it fail for the xz or yz planes.
Second, in ortho mode, simultaneous linehits need careful sorting.
Also, in orth mode it is somewhat random whether the edges exactly behind the front ones are reported 'hit' by bvh tree, so put in code to prevent cuts along the parallel-to-view faces when not in cut-through mode.
Sergey Sharybin [Mon, 3 Sep 2012 14:26:53 +0000 (14:26 +0000)]
Fix for compositor always cacheing frames when using Movie Clip input node
Issue was caused by getting image from compositor node conversion code,
now it'll check whether rendering happens and if so, frame wouldn't be
stored in the cache.
This possible fixes #32465: Memory leak when rendering
Thomas Dinges [Mon, 3 Sep 2012 14:08:03 +0000 (14:08 +0000)]
OSL / Cmake:
* Holdout shader was missing in cmake.
Brecht Van Lommel [Mon, 3 Sep 2012 14:07:49 +0000 (14:07 +0000)]
Fix #32097: cycles window texture coordinate wrong, happened after 2.63.
Lukas Toenne [Mon, 3 Sep 2012 13:56:40 +0000 (13:56 +0000)]
Enable compilation of the SVM backend for Cycles even when OSL is enabled. The switch between SVM/OSL is decided at runtime, so the SVM code cannot simply be ignored when OSL is enabled.
Currently all shader functions check the OSL/SVM flag to dispatch to the appropriate backend. If this turns out to be a significant overhead (unlikely) this test should be moved out of the inner loop.
Brecht Van Lommel [Mon, 3 Sep 2012 13:18:23 +0000 (13:18 +0000)]
Fix #32144: cycles viewport missing update with dupliverts. Ideally this would be
fixed in the dependency graph so it gives a proper signal but that would need a
bigger refactor.
Sergey Sharybin [Mon, 3 Sep 2012 13:17:21 +0000 (13:17 +0000)]
Fix for usage of un-initialized memory.
Checked by Brecht when were in Blender Institute.
Discovered when was looking into #32296: Node Texture - Node Material - GLSL Viewport rendering issue
Brecht Van Lommel [Mon, 3 Sep 2012 12:52:21 +0000 (12:52 +0000)]
Compositor: initialize OpenCL only when the option is enabled. This eliminates
error prints or even crashes for poor OpenCL implementations when not using it.
Thomas Dinges [Mon, 3 Sep 2012 12:35:32 +0000 (12:35 +0000)]
* Added back UI switch for the Cycles shading system. Only visible when the feature set is "Experimental".
Sergey Sharybin [Mon, 3 Sep 2012 12:01:00 +0000 (12:01 +0000)]
Fix for logging FFmpeg messages
Brecht Van Lommel [Mon, 3 Sep 2012 11:55:30 +0000 (11:55 +0000)]
Fix #32461: adjusting brush strength with shift+F in image editor would show
the cursor too big when zoomed in. Only the size adjusment needs to follow the
zoom level of the editor, others are fixed size.
Lukas Toenne [Mon, 3 Sep 2012 11:38:22 +0000 (11:38 +0000)]
Fix for OSL shader install paths.
Lukas Toenne [Mon, 3 Sep 2012 11:38:20 +0000 (11:38 +0000)]
RTTI needs to be disabled in cycles for OSL.
Lukas Toenne [Mon, 3 Sep 2012 11:38:18 +0000 (11:38 +0000)]
Added library linking for cycles_kernel_osl to OSL libraries and added cycles_kernel_osl to the list of blender libs in creator.
Lukas Toenne [Mon, 3 Sep 2012 11:38:15 +0000 (11:38 +0000)]
Replaced dynamic_casts for node type checks by simple 'special type' identifiers. RTTI has to be disabled in cycles for OSL.
Brecht Van Lommel [Mon, 3 Sep 2012 11:26:04 +0000 (11:26 +0000)]
Fix #32468: 3d view texture paint mode did not show uv layout in image editor.
Campbell Barton [Mon, 3 Sep 2012 10:39:15 +0000 (10:39 +0000)]
fix [#31694] Circle Selection is ignored within face selection in texture paint mode
Campbell Barton [Mon, 3 Sep 2012 10:12:25 +0000 (10:12 +0000)]
code cleanup: split out defines in BKE_utildefines.h into BLO_blend_defs.h and ui defines in interface_intern.h
Campbell Barton [Mon, 3 Sep 2012 09:03:25 +0000 (09:03 +0000)]
array functions for endian switching.
Campbell Barton [Mon, 3 Sep 2012 07:37:38 +0000 (07:37 +0000)]
add endian switch functions to replace macros SWITCH_INT/LONG/SHORT, with BLI_endian_switch_int32/int64/float/double...
Campbell Barton [Mon, 3 Sep 2012 05:36:47 +0000 (05:36 +0000)]
style cleanup
Campbell Barton [Mon, 3 Sep 2012 02:41:12 +0000 (02:41 +0000)]
style cleanup: also add debugging print function for derived mesh DM_debug_print_cdlayers()
Campbell Barton [Mon, 3 Sep 2012 02:08:56 +0000 (02:08 +0000)]
uncomment data identifiers from sphinx docs (own error made r41509)
Campbell Barton [Mon, 3 Sep 2012 01:05:04 +0000 (01:05 +0000)]
fix [#32434] Copy-Paste Tracks causes Blender to freeze/crash on second use.
Campbell Barton [Mon, 3 Sep 2012 00:30:55 +0000 (00:30 +0000)]
fix [#32423] Extrude crash
mistake in r50086 caused the crash (killing the wrong vertex)
Campbell Barton [Mon, 3 Sep 2012 00:02:13 +0000 (00:02 +0000)]
remove vertex groups from a mesh or lattice when this there are no remaining vertex groups. This was dont in edit-mode but not object-mode.
Lukas Toenne [Sun, 2 Sep 2012 18:11:28 +0000 (18:11 +0000)]
Cycles compile fix: only use std::isfinite when OSL is enabled.
Thomas Dinges [Sun, 2 Sep 2012 17:39:07 +0000 (17:39 +0000)]
* Removed last occurrence of get_pointcloud_attr_query.
Thomas Dinges [Sun, 2 Sep 2012 16:37:58 +0000 (16:37 +0000)]
* OSL can't overwrite input parameters, use a local variable instead.
Thomas Dinges [Sun, 2 Sep 2012 16:06:18 +0000 (16:06 +0000)]
Cycles / OSL:
* Updates for noise_turbulence, to match svm function.
Lukas Toenne [Sun, 2 Sep 2012 15:41:35 +0000 (15:41 +0000)]
Fixed a number of OSL syntax errors from the updated 1.2 API. Microfacet functions now all take an eta parameter, set to 1.0 if no IOR is given.
Thomas Dinges [Sun, 2 Sep 2012 15:26:13 +0000 (15:26 +0000)]
Fix for r50314:
* oren_nayar is not part of the default stdosl, added it back.
Lukas Toenne [Sun, 2 Sep 2012 15:07:51 +0000 (15:07 +0000)]
Fixed remaining syntax errors in OSL files. node_sepcomb_rgb.osl is split into 2 parts, since OSL only allows one shader per file.
Sv. Lockal [Sun, 2 Sep 2012 13:36:33 +0000 (13:36 +0000)]
Use function pointers instead of hard-coded english button names in color picker block.
This solves the problem with es/ru translations of color picker block reported by Gabriel Gazzán in Bf-translations-dev.
Thomas Dinges [Sun, 2 Sep 2012 13:34:12 +0000 (13:34 +0000)]
Cycles / OSL:
* Add oslutil.h, from osl 1.2.
Thomas Dinges [Sun, 2 Sep 2012 13:23:44 +0000 (13:23 +0000)]
OSL / Cycles:
* Update the stdosl header file, from official osl 1.2.
Thomas Dinges [Sun, 2 Sep 2012 12:46:54 +0000 (12:46 +0000)]
Cycles / OSL:
* Remove declaration of node_blend_weight_texture from cmake, does not exist, and match node_blend_weight name in nodes.cpp with the actual file.
Thomas Dinges [Sun, 2 Sep 2012 12:24:04 +0000 (12:24 +0000)]
Cycles / OSL:
* First batch of compile fixes for several shaders, mainly syntax errors.
Thomas Dinges [Sun, 2 Sep 2012 01:10:31 +0000 (01:10 +0000)]
Cycles / OSL:
Fixes for API changes in OSL RendererServices:
* Added two new required get_matrix methods, from OSL RendererServices (otherwise the constructor fails). The two new matrix methods probably still need an implementation.
* Removed deprecated "get_pointcloud_attr_query" and "pointcloud". There are two new routines for pointclouds, function headers for those are there.
* Removed the (unused) PARTIO code parts from OSL. It was marked as not tested / not working, and due to the api changes here broken for sure. Code is still in svn history if needed.
Benoit Bolsee [Sat, 1 Sep 2012 21:23:05 +0000 (21:23 +0000)]
..\commmit_hive.txt
Thomas Dinges [Sat, 1 Sep 2012 15:30:35 +0000 (15:30 +0000)]
Cycles / OSL:
* Compile fix for the "direction_to_panorama" issue.
Added kernel_projection.h to kernel_triangle.h.
Antony Riakiotakis [Sat, 1 Sep 2012 14:53:01 +0000 (14:53 +0000)]
Enable shader model 3.0 shaders for mingw compilers
Lukas Toenne [Sat, 1 Sep 2012 11:30:22 +0000 (11:30 +0000)]
Fix #32463, Cycles crashing. The particle system sync_recalc part was checking object data, which can be NULL and doesn't actually say anything about particles, removed.
Lukas Toenne [Sat, 1 Sep 2012 11:30:19 +0000 (11:30 +0000)]
Cycles fix: don't skip particle device update when there are no particle systems. The device texture always contains at least one dummy particle in case particle info node is used for non-instance objects, this must be initialized in any case.
Thomas Dinges [Fri, 31 Aug 2012 20:31:21 +0000 (20:31 +0000)]
Cycles / OSLGlobals:
* Fixes for changes in the Open Shading Langauge API from version 0.6.0: https://github.com/imageworks/OpenShadingLanguage/commit/
11ce51418b45e975ace4d919a4bdd8c2001ba300
* Removed the need for ShadingSystemImpl.
Thomas Dinges [Fri, 31 Aug 2012 20:08:55 +0000 (20:08 +0000)]
Cycles / OSL:
* OSL namespace fixes for osl_shader.cpp.
Thomas Dinges [Fri, 31 Aug 2012 19:59:50 +0000 (19:59 +0000)]
Cycles / OSL:
* Fixes for changes in r40163. Removed unused code and fixed emissive_eval function.
Thomas Dinges [Fri, 31 Aug 2012 19:57:03 +0000 (19:57 +0000)]
Possible fix for [#32462] blender cannot load bmp files (Windows OS).
* Typo in the CHECK_HEADER_FIELD macro.
Patch by kjym3 in IRC, thanks!
Lukas Toenne [Fri, 31 Aug 2012 19:39:08 +0000 (19:39 +0000)]
Cycles: Fix for particle info node crash: The particle 'alive' state can be set to 'dying', which is just an indicator that the particle will be removed, but it is is used for instancing. This would lead to insufficient texture size and assert crash.
Lukas Toenne [Fri, 31 Aug 2012 19:39:06 +0000 (19:39 +0000)]
Cycles: Fully initialize the dummy particle at index 0.
Lukas Toenne [Fri, 31 Aug 2012 19:39:04 +0000 (19:39 +0000)]
Cycles: Start the particle index for object instances at 1 instead 0. The first particle in the device texture is a dummy for non-instance objects using the particle info node.
Lukas Toenne [Fri, 31 Aug 2012 19:39:03 +0000 (19:39 +0000)]
Cycles: Tag particle systems after syncing to make sure the particle system manager updates the device data.
Lukas Toenne [Fri, 31 Aug 2012 19:38:59 +0000 (19:38 +0000)]
Added a bunch of additional particle state attributes to the Cycles particle info node:
* Location: Basically the same as the location from Object Info node for object instances on particles, but in principle there could be additional offsets for dupli objects, so included for completeness.
* Size: Single float scale of the particle. Also directly translates to object scale for current dupli objects, but handy to have as a single float to start with instead of a scale vector (currently not even exposed in Object Info).
* Rotation: This is a quaternion, which are not yet supported by Cycles nodes. The float4 is copied to internal Cycles data and stored in the particles texture data, but the node doesn't have a socket for it yet and the data is not yet written to the stack. Code is just commented out so could be enabled quickly if/when rotation support is added to cycles.
* Velocity: Linear velocity vector of particles.
* Angular Velocity: Angular velocity around principle axes.
The texture data is currently packed tightly into the particles texture, which saves a few bytes, but requires an additional texture lookup for some vector attributes which spread over two float4s. Could also add another float4 to particle size to avoid this.
Lukas Toenne [Fri, 31 Aug 2012 17:27:08 +0000 (17:27 +0000)]
Fix for #32184 and redesign of particle storage in Cycles.
The particle data used by the Particle Info node was stored in cycles as a list in each object. This is a problem when the particle emitter mesh is hidden: Objects in cycles are only intended as instances of renderable meshes, so when hiding the emitter mesh the particle data doesn't get stored either. Also the particle data can potentially be copied to multiple instances of the same object, which is a waste of texture space.
The solution in this patch is to make a completely separate list of particle systems in the Cycles scene data. This way the particle data can be generated even when the emitter object itself is not visible.
Brecht Van Lommel [Fri, 31 Aug 2012 16:10:13 +0000 (16:10 +0000)]
Fix #32329: inset produces incorrect result, epsilon was too small to handle
floating point error.
Brecht Van Lommel [Fri, 31 Aug 2012 15:01:40 +0000 (15:01 +0000)]
Fix #32458: changing UV image in image editor not working when the active face
was not selected. Now changed it so that the active face must also have its
UVs shown in the image editor to be used as the source of the image shown.
Brecht Van Lommel [Fri, 31 Aug 2012 13:43:56 +0000 (13:43 +0000)]
Fix part of #32376: mirror vertex groups with flip group names did not keep
the same vertex group active.
Brecht Van Lommel [Fri, 31 Aug 2012 13:04:03 +0000 (13:04 +0000)]
Fix #32408: image editor does not show paint brush circle on loading a .blend
file that has paint mode enabled.
Brecht Van Lommel [Fri, 31 Aug 2012 12:08:08 +0000 (12:08 +0000)]
Fix #32447: mouse selection in uv editor is now no longer registerd as last
operator, same as 3d view.
Brecht Van Lommel [Fri, 31 Aug 2012 12:08:04 +0000 (12:08 +0000)]
Fix #32450: edge slide with multiple loops selected could move some loops
in the wrong direction.
Thomas Dinges [Fri, 31 Aug 2012 00:21:56 +0000 (00:21 +0000)]
Cycles / OSL:
* Assume OSL libs in the libdir.
Brecht Van Lommel [Thu, 30 Aug 2012 17:55:21 +0000 (17:55 +0000)]
Fix #32418: color copy/paste between gamma and linear color buttons gave wrong
results, now it does the conversion.
Brecht Van Lommel [Thu, 30 Aug 2012 17:42:08 +0000 (17:42 +0000)]
Fix #32402: live unwrap memory leak, more noticeable if you have many UV's pinned.
Brecht Van Lommel [Thu, 30 Aug 2012 17:42:04 +0000 (17:42 +0000)]
Fix #32404: GLSL normal maps using float images were incorrectly getting
color managed.
Brecht Van Lommel [Thu, 30 Aug 2012 17:41:59 +0000 (17:41 +0000)]
Fix #32405: snapping in UV editor does not work if snapping in 3D view is set
to "snap to face" with "project individual ..." enabled.
Joshua Leung [Thu, 30 Aug 2012 15:06:13 +0000 (15:06 +0000)]
Bugfix [#32249] Groups in Dopesheet and Action editor don't get updated after
bone renaming
* Renaming F-Curves now checks if the corresponding F-Curve's group can also be
renamed accordingly.
* Changed the RNA updates for bone renaming so that they properly update the
channel lists
Brecht Van Lommel [Thu, 30 Aug 2012 14:18:14 +0000 (14:18 +0000)]
Possible fix for #32446: after undo in mesh edit mode, vertex/edge/face
selection syncing would not work correct, in this case deselecting an edge
would deselect the two vertices even if it wasn't needed.
Joshua Leung [Thu, 30 Aug 2012 14:09:50 +0000 (14:09 +0000)]
Silencing compiler warning (use of undefined value)
Joshua Leung [Thu, 30 Aug 2012 14:08:43 +0000 (14:08 +0000)]
Bugfix [#32437] Cannot define Alt-E keybinding in Text Editor window
WM_keymap_add_item(keymap, "TEXT_OT_insert", KM_TEXTINPUT, KM_ANY, KM_ANY, 0);
<--- this catch-all key map item at the end of the Text Editor keymap was
gobbling all the key events for user-defined hotkeys added after it in the
keymap. This includes all hotkeys for new operators defined by addons (via
keymap.keymap_items.new()).
As a slightly hacky workaround for this, I've added an extra parameter to
keymap_items.new() which will force the newly added item to get added to the
start of the key map items list (i.e. with top priority). To enable, simply add,
head=True to keymap_items.new() calls. For example:
keymap.keymap_items.new("MY_OP_my_operator_id", type='E', value='PRESS',
alt=True, head=True)
This should be useful for cases where there are similar catch-alls, where it is
necessary to insert our item before the offending catch-all (without knowing
which one it is). However, in general, it's recommended not to use this, unless
all other methods (inlcuding choosing another key combination if your first
choice doesn't work) fails.
Joshua Leung [Thu, 30 Aug 2012 13:18:33 +0000 (13:18 +0000)]
Style cleanup - adding some braces around some multi-line statements (used after
if/else if/for)
Joshua Leung [Thu, 30 Aug 2012 13:11:53 +0000 (13:11 +0000)]
Style cleanup - make scope and type of "pchanw" clearer (and define it separate
from pointer references)
Joshua Leung [Thu, 30 Aug 2012 12:59:46 +0000 (12:59 +0000)]
Bugfix [#32440] Segmentation fault when moving bone in pose mode when Ghost
Around Frame is enabled
It turns out that the final "rebuild pose" at the end of each ghost drawing step
was at fault here, as it resulted in bones referring to a different set of
constraints after each ghost drawing step. However, most of the time, these new
references pointed to non-existent locations, causing the segfaults.
To fix this, I've removed this last rebuild step, which seems to work fine (no
major problems seem to arise from this). Also, to ensure that the other object
parameters have not changed (as a result of the reevaluation that needs to go
on), we now evaluate the object once more after all the ghost drawing (but
before final restore) so that object parameters (and potentially sub-data) are
all restored to their original values.
An upside of removing the final rebuild step is that "In Range" and "On
Keyframe" ghosting options now work with proxies again. Previously, trying to
move bones (but without autokey enabled) would mean that bones would snap back
to their unkeyed positions.
Dalai Felinto [Thu, 30 Aug 2012 06:31:02 +0000 (06:31 +0000)]
clamp for Mix node
the implementation was following my early commit for Math node
I haven't had a chance to run those through Brecht, but would like to do eventually. (they work fine though)
Campbell Barton [Wed, 29 Aug 2012 23:02:16 +0000 (23:02 +0000)]
fix [#32433] Grease Pencil Layer color & Color Management
Dalai Felinto [Wed, 29 Aug 2012 17:30:14 +0000 (17:30 +0000)]
Cycles bugfix: [32431] Cycles Math Node : Clamp does not work
the OSL solution is slightly different than the svm, but I think it's fine.
thanks Lukas Toenne for helping with a fix on the original patch
Sergey Sharybin [Wed, 29 Aug 2012 12:47:42 +0000 (12:47 +0000)]
Fix wrong user counter in world node trees
World is being localized without increasing ID users, so no need
to decrease ID users on localized world free.
Campbell Barton [Wed, 29 Aug 2012 10:32:38 +0000 (10:32 +0000)]
code cleanup: add utility function BLI_path_is_rel()
Campbell Barton [Wed, 29 Aug 2012 09:51:38 +0000 (09:51 +0000)]
code cleanup: replace term 'alpha' with '64' in makesdna, this was historic that dec-alpha was the first 64bit system blender was ported for, but now its not helpful to call it this way.
Campbell Barton [Wed, 29 Aug 2012 08:17:38 +0000 (08:17 +0000)]
new image operator now allows color grid (before was only grid on/off)
Campbell Barton [Wed, 29 Aug 2012 07:58:36 +0000 (07:58 +0000)]
texture curves were not initialized (causing crash), own regression from moving curve initialization outside evaluation.
Campbell Barton [Wed, 29 Aug 2012 07:07:18 +0000 (07:07 +0000)]
code cleanup: move static mball vars into their own struct, wasnt very clear from reading code what was defined in the function.
Jens Verwiebe [Tue, 28 Aug 2012 13:43:20 +0000 (13:43 +0000)]
missing linebreak when multithreaded gl meesage is printed to log
Campbell Barton [Tue, 28 Aug 2012 11:27:46 +0000 (11:27 +0000)]
fix bug in mathutils.geometry.intersect_point_line() where 4D vectors were treated as 2D.
also change behavior to return a 2d vector when all args are 2D.
Jeroen Bakker [Tue, 28 Aug 2012 10:41:37 +0000 (10:41 +0000)]
cleanup pixel sampler code (pixel interpolations in compositor)
Campbell Barton [Tue, 28 Aug 2012 10:02:10 +0000 (10:02 +0000)]
fix for own crash caused by curve refactor, now curve tables are initialized once when the tree is initialized.
thanks to Antony Riakiotakis for providing a fix, though this works a little different.
Campbell Barton [Tue, 28 Aug 2012 01:50:13 +0000 (01:50 +0000)]
code cleanup: use switch for metaball type checks and minor style cleanup
Bastien Montagne [Mon, 27 Aug 2012 21:01:21 +0000 (21:01 +0000)]
Adding despeckle as “blender” word...