Commit Graph

35454 Commits

Author SHA1 Message Date
Campbell Barton
3fe14a962a masking - add feather faces as quads and interpolate as quads to avoid ugly diagonal lines. 2012-07-13 09:22:58 +00:00
Campbell Barton
73c2abe83d new function barycentric_weights_v2_quad(), like barycentric_weights_v2 but for quads.
takes vecs and a point and assigns 4 weights, needed for nice quad interpolation for mask feathering.
2012-07-13 09:19:05 +00:00
Dalai Felinto
6ee2e0b145 bugfix: [#32073] Displace node different result between Low and high quality 2012-07-13 06:07:28 +00:00
Campbell Barton
8ce53a2a98 new mask rasterizer written to take advantage of the compositors threading, mostly functional but disabled by default (still a little wip). 2012-07-12 20:10:41 +00:00
Jeroen Bakker
8809f23c8d Missed H file 2012-07-12 19:48:16 +00:00
Jeroen Bakker
8b8bc164da Small optimizations in compositor.
Most of them are not noticeable.
2012-07-12 19:19:03 +00:00
Sergey Sharybin
152675db1a Fix #31988: VBOs Textured solid : no update of material in 3Dview
Issue was caused by VBOs using CD_TEXTURE_MCOL for faces colors. This
layer was creating on mesh display (from draw_tface_mapped__set_draw)
in cases there's no such a layer.

If material settings are changing, this layer wasn't updated and old
colors were used.

Fixed by performing an update of this layer in cases it's already
exists. This would give some % of slowdown, but don't think it'll
be dramatically bad.

Would be nice to find a nice way to update such a layer in cases
material is actually changes only, or get completely rid of it/
2012-07-12 16:08:22 +00:00
Sergey Sharybin
ba44250a23 Fix #32067: since BMesh, files < 2.59.3 no longer have their texface converted
Issue was caused by performing conversion from FTFaces to materials from
the end of lib_link_mesh, where tesselated faces were cleared already.

This conversion can't be switched to BMesh structures because in future
MTexPolys could be changed in a way, that versioning stuff wouldn't work
any more. Another issue is that making such a conversion per-mesh would
lead to quite a code spagetti, which is difficult to follow.

Solved by splitting per-mesh cycle in lib_link_mesh, so now it consists
of three steps:

- Do linking stuff such as custom data layers, materials. Perform a
  Conversion stuff like tessface -> polys.

- Convert all MTFaces to materials. This conversion handles all meshes
  and creates needed materials.

- Free tessfaces, mark mesh as linked.

Such a separation shouldn't noticeably affect on speed of linking.
2012-07-12 15:36:22 +00:00
Lukas Toenne
18d7a23166 Fix #32051, Ungroup operator crashes. The link iterator can be invalidated when unconnected input links are removed. 2012-07-12 15:14:50 +00:00
Sergey Sharybin
126024e537 Fix #31584: Fractional step in value input for Skin Modifier (Event/input problem)
Issue was caused by the code which checked whether snapping should be enabled
on transform init taking into account keymap and special keys state. It was
used for Ctrl-Click on manipulator only.

Check for Ctrl state gave wring result with skin modifier. It was solved
by additional check for which mode transformation is initializing for --
currently manipulator is available for translation/roation/resize only
which doesn't give any keymap issues.
2012-07-12 14:41:52 +00:00
Sergey Sharybin
8ef23c6743 Clip editor mode selection: show menu with modes on TAB
This seems to be the only straightforward way to switch fast between
modes without keeping bunch of shortcuts and current mode in head.
2012-07-12 12:06:40 +00:00
Sergey Sharybin
5a878c50eb Fixed issue with drag-n-drop into Clip Editor. 2012-07-12 11:52:09 +00:00
Sergey Sharybin
ddf7d364e9 Fix for metaballs used as dupli-object for particle
It used to be a dependency cycle which lead to incorrect or
missed tesselation on some circumstances.

Seems to be introduced in rev41627.

This commit seems to behaving properly on simple cases,
probably could fail in some other cases, so need to be
checked further.

Discovered when was looking into:
    #32034: Metaball used as render object(group) for particle will display wire only.
2012-07-12 11:22:46 +00:00
Sergey Sharybin
f7f216262d Fix #32041: Empty display size is not taken into account for centering view 2012-07-12 10:27:22 +00:00
Sergey Sharybin
c86d31cc55 Fix #32050: UV map and game engine property cause crash 2012-07-12 09:56:18 +00:00
Campbell Barton
38f91db37c add bli rect min/max functions. 2012-07-12 09:24:17 +00:00
Campbell Barton
c8d29b1996 feather points now align with mask outline when called with same resolution. 2012-07-12 09:03:45 +00:00
Campbell Barton
2560725807 - add a temp var for edge scanfill (fits in 4 bytes alignment - won't increase mem usage)
- make keyindex an unsigned int, since its used to store vertex indices
- use BLI_in_rcti_v for IN_2D_VERT_SCROLL and IN_2D_HORIZ_SCROLL
2012-07-12 08:34:59 +00:00
Campbell Barton
993dfd7d2a add bli rect funcs BLI_rctf_init_minmax, BLI_rcti_init_minmax 2012-07-12 08:31:23 +00:00
Sergey Sharybin
92119982cb Fix #32082: face textures lost when linking scene from another file
Issue was caused by missing expand for MTexPoly-s tpages.
2012-07-12 07:30:50 +00:00
Sergey Sharybin
54c5edcfbb Fix crash on creating tooltip for sequencer's gl preview mode
Issue was caused by missed value for this enum, fixed by adding check
in tooltip generation.

Default value for this enum should also be fixed, but that would be
in separated commit.
2012-07-12 07:15:32 +00:00
Nicholas Bishop
677876e429 Fix normals around root nodes of skin modifier output.
The direction for these are flipped from other end caps, so add a root
flag to indicate whether the cap polygon's vertex output order should be
reversed.

Fixes bug [#32079] Skin-modifier calculates root's normals wrong
projects.blender.org/tracker/index.php?func=detail&aid=32079&group_id=9&atid=498
2012-07-12 05:55:07 +00:00
Thomas Dinges
4f5d982fb1 Readme and Release Log Links:
* Update to 2.64
2012-07-11 21:57:11 +00:00
Thomas Dinges
fabc2322aa Fix for [#32078] Rendering output to Frame Server is broken.
* BKE_frameserver_append() always returned 0, which caused the frameserver to crash after the first frame was requested. Patch by "alas2718"
2012-07-11 21:42:06 +00:00
Jeroen Bakker
4fb850c72e Compositor:
re-optimized the Defocus node.
 * localized MemoryBuffers
 * removed read(x,y) calls
 * shuffled some lines in the execute pixel
 * added a readNoCheck function to the memorybuffer (only use this when
you are certain you are reading a pixel inside the memorybuffer.
2012-07-11 20:51:00 +00:00
Campbell Barton
83d2314edf ability to calculate mask curve and feather with predefined resolution (*_ex functions) 2012-07-11 20:18:46 +00:00
Jeroen Bakker
b63b8ea69d Compositor:
Added OpenCL kernel for the directional blur.

This operation always uses the full input image. In the current
implementation this input image is not cached on the device.

Future enhancement could be to cache it on the available opencl devices
2012-07-11 19:32:32 +00:00
Sergey Sharybin
5aa2670d4a Fix mistmatched new[] and dlete used in node highlightion 2012-07-11 18:46:27 +00:00
Campbell Barton
a5127dba57 vector versions of BLI_in_rctf / BLI_in_rcti, (BLI_in_rctf_v, BLI_in_rcti_v)
use where possible.
2012-07-11 18:17:48 +00:00
Lukas Toenne
2070cd5d49 Fix #32058, Crash when using ParticleInstance with an hidden particle system.
The instance modifier needs to access the derived mesh data of the particle parent object to create stuff on the hairs, however the dm does not exist when the particle modifier is hidden. This is a general design problem: Objects accessing another object's derived mesh data is unsafe. For now it just checks valid dm pointer and uses identity transform if NULL.
2012-07-11 16:08:04 +00:00
Campbell Barton
81829f5221 code cleanup: use const for passing vectors 2012-07-11 12:42:02 +00:00
Campbell Barton
7620c27554 missed this change from patch [#30274] 2012-07-11 12:35:50 +00:00
Sergey Sharybin
70ccdc6daa Style cleanup 2012-07-11 11:31:14 +00:00
Jeroen Bakker
c25240ad54 Compositor read buffers work directly on the memory buffer.
This way we can remove the memoryBuffers parameter in the executePixels,
and (de)initializeTileData methods
2012-07-11 10:45:56 +00:00
Sergey Sharybin
6e6dd576a8 Operator to move mask layers up and down in the list 2012-07-11 10:37:38 +00:00
Sergey Sharybin
4e213765ec Fixes for keying screen:
- Fixed issue with black areas appearing when too many sites
  are defined.

  Currently tweak epsilon value for this, but probably actual
  issue is somewhere else, can't see it yet.

- Fixed issue with bright pixels appearing in the sites, was
  caused by accumulating color for pixels, which isn't needed.

  Once color for pixel was set stop iterating via triangles.
  Could give some speedup too.

- Ignore markers which are outside of frame bounds, they were
  giving bad triangulation and they can't affect on gradient
  due to color fir such sites is not known.

- Sites used to be created at position without track offset
  taken into account.
2012-07-11 07:46:36 +00:00
Monique Dewanchand
315698543b Fix for issue [#31981] for tiles opencl:
initialize radius with correct value
2012-07-10 20:46:42 +00:00
Campbell Barton
9c464ee2bb improved node frame text alignment and use default label font (not monospaced) 2012-07-10 20:44:25 +00:00
Monique Dewanchand
e8e8ceaea2 fix for Tiles bug - opencl:
[#31981] Bokeh Blur Node - Size input socket does not accept input from Value Input node, Values smaller than 0.1 will produce black output
2012-07-10 20:33:24 +00:00
Monique Dewanchand
8a4584d04d Fix for tiles bug:
[#31981] Bokeh Blur Node - Size input socket does not accept input from Value Input node, Values smaller than 0.1 will produce black output
2012-07-10 20:21:13 +00:00
Mitchell Stokes
831ae18622 Scaling non-power-of-two (NPOT) textures to powers of two is really time consuming and not necessary on graphics cards that can support NPOT textures. So, if the graphics card has NPOT texture support, don't bother scaling. If this patch causes issues, it can always be reverted and applied to Swiss instead. 2012-07-10 19:23:57 +00:00
Sergey Sharybin
f279576f1a Bump Blender version, so despill balance would stay untouched in
rare cases when it was intentionally set to 0.
2012-07-10 15:35:25 +00:00
Bastien Montagne
82277eb766 Make grumpy gcc in "overwarning" mode happy again... 2012-07-10 15:28:32 +00:00
Sergey Sharybin
ba8154e24a Keying screen: small fixes and improvements from tomato
- Fixed issues with calculating matte with balance != 0.5
  It used to be used concave combination of minimal and maximal
  channel values which could be inpredictable.
  Use concave combination of two non-major channels sorted
  by their index, so such combination would always use the same
  coefficients for particular non-major channels.

- Added despill balance slider which defines balance between
  non-major channels used for calculating average of two
  colors. Difference between average value and pixel value of
  major screen channel defines amount of despill. Balance of
  0.5 gives the same behavior as it was before this slider
  was added.

---
svn merge -r48678:48679 -r48789:48790 ^/branches/soc-2011-tomato
2012-07-10 14:53:36 +00:00
Sergey Sharybin
76ee9783a1 Improved cache management for movie clips from tomato branch
Replace pseudo-LRU approach of determining which buffer
to remove when running out of space allowed for cache
with approach which would remove the frame which is most
far away from newly added frame.

This is still a bit tricky because it's impossible to
distinguish which frame to delete in situation of:

        CCCC...CC
           ^

it's either user wants to extend left segment of cached
frames and buffers from right segment should be removed
or he wants to join this two segments and in that case
buffers from right segment should be removed.

Would need a bit more investigation which situation
is more common in general usecase.

Additional changes:

- Cleanup some memutil files (which are familiar to cache limiter)

- Add option to make moviecache verbose. If DEBUG_MESSAGES is
  defined in moviecache.c detailed logs would be printed to the
  console.

- Movie caches are now named which helps reading debug messages.
2012-07-10 14:43:50 +00:00
Sergey Sharybin
a41dc719bf Movie Clip Node: skip putting frame to cache when rendering animation
This helps keeping memory usage low and have cached segments untouched
when mixing stuff like tracking and rendering -- now you wouldn't be
need to re-cache segment you're working on after rendering.

---
svn merge -r48550:48552 ^/branches/soc-2011-tomato
2012-07-10 14:42:37 +00:00
Lukas Toenne
21f81ee279 Fix for center calculation in node transforms. This now uses the actual barycenter of node rect centers. 2012-07-10 13:50:51 +00:00
Sergey Sharybin
2de2b7eba8 Synchronize style cleanup changes made in tomato branch 2012-07-10 13:41:21 +00:00
Sergey Sharybin
165e8b0155 Fix compilation error when using MSVC 2012-07-10 12:57:09 +00:00
Sergey Sharybin
1360147e9e Tag ununsed variable and make function real explicit prototype. 2012-07-10 12:42:03 +00:00