8 years agoMerging r59182 through r59257 from trunk into soc-2013-depsgraph_mt
Sergey Sharybin [Mon, 19 Aug 2013 07:43:26 +0000 (07:43 +0000)]
Merging r59182 through r59257 from trunk into soc-2013-depsgraph_mt

8 years agoFix warnings reported by cavity checker
Sergey Sharybin [Mon, 19 Aug 2013 07:32:47 +0000 (07:32 +0000)]
Fix warnings reported by cavity checker

8 years agoedit to object center snapping, exit early if unsupported.
Campbell Barton [Mon, 19 Aug 2013 04:23:54 +0000 (04:23 +0000)]
edit to object center snapping, exit early if unsupported.

8 years agoadd support for snapping to empty centers during transform.
Campbell Barton [Mon, 19 Aug 2013 04:22:05 +0000 (04:22 +0000)]
add support for snapping to empty centers during transform.

8 years agostyle cleanup: indent/whitespace
Campbell Barton [Mon, 19 Aug 2013 01:48:44 +0000 (01:48 +0000)]
style cleanup: indent/whitespace

8 years agocorrect uninitialized var, worked by accident.
Campbell Barton [Mon, 19 Aug 2013 00:39:28 +0000 (00:39 +0000)]
correct uninitialized var, worked by accident.

8 years agoFix #34485 sculpt strength weirdly inverted with some mesh part.
Antony Riakiotakis [Sun, 18 Aug 2013 22:44:43 +0000 (22:44 +0000)]
Fix #34485 sculpt strength weirdly inverted with some mesh part.

The view vector was not being calculated correctly. Shamelessly rip off
correct transform to object space from projective texture painting code.

8 years agoCycles:
Thomas Dinges [Sun, 18 Aug 2013 22:25:37 +0000 (22:25 +0000)]
* Fix 16 byte alignment for constant hair kernel data.

8 years agoCycles / SSS:
Thomas Dinges [Sun, 18 Aug 2013 20:49:58 +0000 (20:49 +0000)]
Cycles / SSS:
* OSL rendered Black with Compatible Fallof option, fixed.

Note: OSL uses compatible scattering when "Compatible" or "Bicubic" is selected. I guess compatible will be removed later? If not we need to fix this properly.

8 years agoAdd comments for outliner's treestore and treehash (no functional changes)
Sv. Lockal [Sun, 18 Aug 2013 20:07:49 +0000 (20:07 +0000)]
Add comments for outliner's treestore and treehash (no functional changes)

8 years agoFix #34413 Dyntopo, smooth shading normals not getting uploaded to GPU
Antony Riakiotakis [Sun, 18 Aug 2013 19:47:33 +0000 (19:47 +0000)]
Fix #34413 Dyntopo, smooth shading normals not getting uploaded to GPU
and undo buffers.

When we have smooth shading we must not only update the unique vertex

8 years agoFix [#36423] Audio strips contain selectable (visual) blend modes and opacity value
Bastien Montagne [Sun, 18 Aug 2013 15:48:51 +0000 (15:48 +0000)]
Fix [#36423] Audio strips contain selectable (visual) blend modes and opacity value

Simply hide blend type and opacity for SOUND strips!

8 years agoMore "relpath" try/except protection...
Bastien Montagne [Sun, 18 Aug 2013 15:17:33 +0000 (15:17 +0000)]
More "relpath" try/except protection...

8 years agobmesh improvements to face creation.
Campbell Barton [Sun, 18 Aug 2013 15:14:55 +0000 (15:14 +0000)]
bmesh improvements to face creation.

* fill-holes operator now takes advantage of new edge-net fill, works in many more cases then it did before.

* face-create that uses edge-net now initializes the normals based on surrounding geometry, only running normal calculation if there are no connected faces for a reference.

8 years agoFix compile of last commit
Stuart Broadfoot [Sun, 18 Aug 2013 15:09:51 +0000 (15:09 +0000)]
Fix compile of last commit

8 years agocorrect recent commit
Campbell Barton [Sun, 18 Aug 2013 14:35:53 +0000 (14:35 +0000)]
correct recent commit

8 years agoCycles: relicense GNU GPL source code to Apache version 2.0.
Brecht Van Lommel [Sun, 18 Aug 2013 14:16:15 +0000 (14:16 +0000)]
Cycles: relicense GNU GPL source code to Apache version 2.0.

More information in this post:

Thanks to all contributes for giving their permission!

8 years agoCycles: Subsurface Scattering
Brecht Van Lommel [Sun, 18 Aug 2013 14:15:57 +0000 (14:15 +0000)]
Cycles: Subsurface Scattering

New features:

* Bump mapping now works with SSS
* Texture Blur factor for SSS, see the documentation for details:

Work in progress for feedback:

Initial implementation of the "BSSRDF Importance Sampling" paper, which uses
a different importance sampling method. It gives better quality results in
many ways, with the availability of both Cubic and Gaussian falloff functions,
but also tends to be more noisy when using the progressive integrator and does
not give great results with some geometry. It works quite well for the
non-progressive integrator and is often less noisy there.

This code may still change a lot, so unless you're testing it may be best to
stick to the Compatible falloff function.

Skin test render and file that takes advantage of the gaussian falloff:

8 years agoFix a few compiler warnings reported by clang.
Brecht Van Lommel [Sun, 18 Aug 2013 14:15:51 +0000 (14:15 +0000)]
Fix a few compiler warnings reported by clang.

8 years agoUpdates for the Cycle Hair UI. With the following changes
Stuart Broadfoot [Sun, 18 Aug 2013 13:41:53 +0000 (13:41 +0000)]
Updates for the Cycle Hair UI. With the following changes
- Removed the cycles subdivision and interpolation of hairkeys.
- Removed the parent settings.
- Removed all of the advanced settings and presets.
- This simplifies the UI to a few settings for the primitive type and a shape mode.

8 years agoimproved BM_face_copy_shared to copy from more possible connected loops and add filte...
Campbell Barton [Sun, 18 Aug 2013 11:44:51 +0000 (11:44 +0000)]
improved BM_face_copy_shared to copy from more possible connected loops and add filter function (not used yet).

8 years agocorrect own error in recent linked stack edits.
Campbell Barton [Sun, 18 Aug 2013 04:06:49 +0000 (04:06 +0000)]
correct own error in recent linked stack edits.

8 years agoadd hash function BLI_ghash_assign, BLI_edgehash_assign
Campbell Barton [Sun, 18 Aug 2013 03:41:39 +0000 (03:41 +0000)]
add hash function BLI_ghash_assign, BLI_edgehash_assign
avoids remove,insert and only hashes the key once.

8 years agoCode cleanup:
Thomas Dinges [Sun, 18 Aug 2013 02:35:39 +0000 (02:35 +0000)]
Code cleanup:
* Forgot to remove RNA/DNA in r59043. No need to keep this here, we never used it in Trunk.

8 years agominor api cleanup for ghash/edgehash
Campbell Barton [Sun, 18 Aug 2013 01:00:52 +0000 (01:00 +0000)]
minor api cleanup for ghash/edgehash
- use single inlined lookup function.
- move comments into source.
- pack iterator vars more efficiently.

8 years agoadd assert for hashes if an existing element is ever inserted into a ghash/edgehash.
Campbell Barton [Sun, 18 Aug 2013 00:36:04 +0000 (00:36 +0000)]
add assert for hashes if an existing element is ever inserted into a ghash/edgehash.

the outliner does this intentionally, so add a flag to allow this situation optionally.

8 years agobmesh api internal changes
Campbell Barton [Sat, 17 Aug 2013 13:32:56 +0000 (13:32 +0000)]
bmesh api internal changes
- optimize BM_face_exists_overlap_subset(), dont check faces smaller then the vert array, don't initialize overlap flag unless its needed.
- BM_face_exists_overlap had incorrect check (currently function is unused so no harm done)

8 years agoremove unused function
Campbell Barton [Sat, 17 Aug 2013 13:08:09 +0000 (13:08 +0000)]
remove unused function

8 years agoFix [36486] Outliner doesn't allow to expand Hierarchies of armature if it's present...
Sv. Lockal [Sat, 17 Aug 2013 11:49:18 +0000 (11:49 +0000)]
Fix [36486] Outliner doesn't allow to expand Hierarchies of armature if it's present on 2 Scenes

This is done by fixing logic for finding the first unused element in treehash.
The blend file from [36486] also exposes a memleak, but it should be addressed separately.

8 years agoremove unused args from edgenet fill (since rewrite, but they weren't used before...
Campbell Barton [Sat, 17 Aug 2013 09:25:12 +0000 (09:25 +0000)]
remove unused args from edgenet fill (since rewrite, but they weren't used before either)

8 years agostyle cleanup
Campbell Barton [Sat, 17 Aug 2013 08:21:40 +0000 (08:21 +0000)]
style cleanup

8 years agoavoid double ghash lookups
Campbell Barton [Sat, 17 Aug 2013 08:00:22 +0000 (08:00 +0000)]
avoid double ghash lookups

8 years agofix for crash in compositor/opencl, the error value of -1001 would read past the...
Campbell Barton [Sat, 17 Aug 2013 07:09:07 +0000 (07:09 +0000)]
fix for crash in compositor/opencl, the error value of -1001 would read past the error-string array.

8 years agoadd linklist stack macros, use where over allocating an array was previously done.
Campbell Barton [Sat, 17 Aug 2013 05:33:55 +0000 (05:33 +0000)]
add linklist stack macros, use where over allocating an array was previously done.

8 years agouse 'with' keyword for script stub (recommended with py3).
Campbell Barton [Sat, 17 Aug 2013 05:27:58 +0000 (05:27 +0000)]
use 'with' keyword for script stub (recommended with py3).

8 years agochange CHECK_TYPE_INLINE macro not to add the pointer in the macro.
Campbell Barton [Sat, 17 Aug 2013 04:48:34 +0000 (04:48 +0000)]
change CHECK_TYPE_INLINE macro not to add the pointer in the macro.

8 years agoBGE: Adding partial support for LibLoaded lights with GLSL materials.
Mitchell Stokes [Sat, 17 Aug 2013 04:37:25 +0000 (04:37 +0000)]
BGE: Adding partial support for LibLoaded lights with GLSL materials.

Any GLSL materials loaded after lights are LibLoaded will now use the lights in
heir shaders. This includes materials loaded from the same scene as the LibLoaded
lights. We could later add a new flag to LibLoad to recompile all existing shaders,
but this commit should offer a lot more flexibility as is.

8 years agoBGE: Flipping vsync constants so VSYNC_ON is 0.
Mitchell Stokes [Sat, 17 Aug 2013 02:06:45 +0000 (02:06 +0000)]
BGE: Flipping vsync constants so VSYNC_ON is 0.

This will make transitions from older versions of Blender easier since VSYNC_ON
will be the default. This could have been changed in a do_version, but the vsync
code has yet to see an official release, so I figured this would be a bit nicer.
Also, this makes VSYNC_ON the default for new scenes as well.

8 years agorewrite edgenet fill bmesh operator.
Campbell Barton [Fri, 16 Aug 2013 14:18:54 +0000 (14:18 +0000)]
rewrite edgenet fill bmesh operator.

previous code created faces with mixed face-flipping and could get very slow,
test with ~60,000 edges here hung my system for over 2min (didnt wait for it to finish), new code executes in about 1 second.

new code doesn't attempt to flip faces correctly, its quite involved to do so, especially when the new faces are not created adjacent to eachother.
so simpler to calculate normals afterwards.

8 years agoRemove ifdef-ed code, it's still in SVn anyway.
Sergey Sharybin [Fri, 16 Aug 2013 13:58:39 +0000 (13:58 +0000)]
Remove ifdef-ed code, it's still in SVn anyway.

8 years agoTweaks to MapUV and PlaneTrack nodes to make results less doggy
Sergey Sharybin [Fri, 16 Aug 2013 13:58:34 +0000 (13:58 +0000)]
Tweaks to MapUV and PlaneTrack nodes to make results less doggy

This disables crazy adaptive sampling happening in diagonal direction.

This still gives some doggyness, but it's much less dramatic now,
and behavior is pretty damn the same as EWA filtering when rendering
textures with Blender Internal.

8 years agoFix for #36468, "Buffer Groups" option changes compositing output.
Lukas Toenne [Fri, 16 Aug 2013 13:11:15 +0000 (13:11 +0000)]
Fix for #36468, "Buffer Groups" option changes compositing output.

Problem is that the read/write buffer operations only work with actual
image inputs. If a singular value is used as group input no actual
buffer will be created, the write operation does not schedule any chunks
and the ReadBufferOperation subsequently returns zero

The fix uses the (0,0) resolution to detect single value input of the
WriteBufferOperation. The actual resolution is then clamped to (1,1) to
ensure we have a single pixel to store the value in. A m_single_value
flag is also set, so we can reliably distinguish this from genuine image
resolutions without having to check m_width/m_height later on.

The ReadBufferOperation copies this flag from the associated
WriteBufferOperation and if set will always return the single value from
pixel (0,0).

8 years agoreplace calls to BLI_linklist_append with BLI_linklist_prepend where order us unimpor...
Campbell Barton [Fri, 16 Aug 2013 13:06:40 +0000 (13:06 +0000)]
replace calls to BLI_linklist_append with BLI_linklist_prepend where order us unimportant, since append steps over the whole list each time.

8 years agonew bmesh queries BM_face_exists_overlap, BM_face_exists_overlap_subset
Campbell Barton [Fri, 16 Aug 2013 13:02:34 +0000 (13:02 +0000)]
new bmesh queries BM_face_exists_overlap, BM_face_exists_overlap_subset
the subset version of the function checks if any faces has all its verts in the given array.

also made some additions to linklist functions (arena and pool versions of append).

8 years ago* Compile fix, so disabling libmw works again.
Thomas Dinges [Fri, 16 Aug 2013 12:43:37 +0000 (12:43 +0000)]
* Compile fix, so disabling libmw works again.

8 years agoMerging r59170 through r59181 from trunk into soc-2013-depsgraph_mt
Sergey Sharybin [Fri, 16 Aug 2013 10:33:14 +0000 (10:33 +0000)]
Merging r59170 through r59181 from trunk into soc-2013-depsgraph_mt

8 years agoAttempt to fix compilation error on OSX and Windows
Sergey Sharybin [Fri, 16 Aug 2013 10:29:56 +0000 (10:29 +0000)]
Attempt to fix compilation error on OSX and Windows

8 years agoMake byte-float conversion threaded in compositor
Sergey Sharybin [Fri, 16 Aug 2013 10:01:09 +0000 (10:01 +0000)]
Make byte-float conversion threaded in compositor

In fact, there's no need to get float buffer at all,
conversion could be done in pixel processor level
after interpolation.

It might give slightly worse interpolation results
(which i'm not sure would be visible by eye) but
it gives more than 2x speedup on my laptop on node
setups used for warping image.

svn merge -r58988:58989 ^/branches/soc-2011-tomato

8 years agoRemove unused and unfinished py bindings
Sergey Sharybin [Fri, 16 Aug 2013 09:46:34 +0000 (09:46 +0000)]
Remove unused and unfinished py bindings

8 years agoMerge plane track feature from tomato branch
Sergey Sharybin [Fri, 16 Aug 2013 09:46:30 +0000 (09:46 +0000)]
Merge plane track feature from tomato branch

This commit includes all the changes made for plane tracker
in tomato branch.

Movie clip editor changes:

- Artist might create a plane track out of multiple point
  tracks which belongs to the same track (minimum amount of
  point tracks is 4, maximum is not actually limited).

  When new plane track is added, it's getting "tracked"
  across all point tracks, which makes it stick to the same
  plane point tracks belong to.

- After plane track was added, it need to be manually adjusted
  in a way it covers feature one might to mask/replace.

  General transform tools (G, R, S) or sliding corners with
  a mouse could be sued for this. Plane corner which
  corresponds to left bottom image corner has got X/Y axis
  on it (red is for X axis, green for Y).

- Re-adjusting plane corners makes plane to be "re-tracked"
  for the frames sequence between current frame and next
  and previous keyframes.

- Kayframes might be removed from the plane, using Shit-X
  (Marker Delete) operator. However, currently manual
  re-adjustment or "re-track" trigger is needed.

Compositor changes:

- Added new node called Plane Track Deform.

- User selects which plane track to use (for this he need
  to select movie clip datablock, object and track names).

- Node gets an image input, which need to be warped into
  the plane.

- Node outputs:
  * Input image warped into the plane.
  * Plane, rasterized to a mask.

Masking changes:

- Mask points might be parented to a plane track, which
  makes this point deforming in a way as if it belongs
  to the tracked plane.

Some video tutorials are available:
- Coder video:
- Artist video:

This is mine and Keir's holiday code project :)

8 years agoAdd Procrustes PNP ("PPnP") resection algorithm to libmv
Sergey Sharybin [Fri, 16 Aug 2013 08:26:34 +0000 (08:26 +0000)]
Add Procrustes PNP ("PPnP") resection algorithm to libmv

This adds a new Euclidean resection method, used to create the
initial reconstruction in the motion tracker, to libmv. The method
is based on the Procrustes PNP algorithm (aka "PPnP"). Currently
the algorithm is not connected with the motion tracker, but it
will be eventually since it supports initialization.

Having an initial guess when doing resection is important for
ambiguous cases where potentially the user could offer extra
guidance to the solver, in the form of "this point is in front of
that point".

svn merge -r58821:58822 ^/branches/soc-2011-tomato

8 years agoCode cleanup: this was unintended change from quite a while ago..
Sergey Sharybin [Fri, 16 Aug 2013 08:03:35 +0000 (08:03 +0000)]
Code cleanup: this was unintended change from quite a while ago..

8 years agoadd support for mempool/linklist functions.
Campbell Barton [Fri, 16 Aug 2013 05:50:00 +0000 (05:50 +0000)]
add support for mempool/linklist functions.

8 years agoCode cleanup: remove some ifdef code from guardedalloc
Sergey Sharybin [Fri, 16 Aug 2013 05:21:40 +0000 (05:21 +0000)]
Code cleanup: remove some ifdef code from guardedalloc

Didn't notice all needed functions are in atomic already.

8 years agoAtomic ops are only used in guarded allocator, so move include into ifdef
Sergey Sharybin [Thu, 15 Aug 2013 12:28:30 +0000 (12:28 +0000)]
Atomic ops are only used in guarded allocator, so move include into ifdef

8 years agoCode cleanup
Sergey Sharybin [Thu, 15 Aug 2013 12:15:42 +0000 (12:15 +0000)]
Code cleanup

And checking whether mail indeed works now.

8 years agoSpeedup for guarded allocator
Sergey Sharybin [Thu, 15 Aug 2013 12:13:01 +0000 (12:13 +0000)]
Speedup for guarded allocator

- Re-arrange locks, so no actual memory allocation
  (which is relatively slow) happens from inside
  the lock. operation system will take care of locks
  which might be needed there on it's own.

- Use spin lock instead of mutex, since it's just
  list operations happens from inside lock, no need
  in mutex here.

- Use atomic operations for memory in use and total
  used blocks counters.

This makes guarded allocator almost the same speed
as non-guarded one in files from Tube project.

There're still MemHead/MemTail overhead which might
be bad for CPU cache utilization.

TODO: We need smarter 32/64bit compile-time check,
      currently i'm afraid only x86 CPU family is
      detecting reliably.

8 years agoMerging r59153 through r59161 from trunk into soc-2013-depsgraph_mt
Sergey Sharybin [Thu, 15 Aug 2013 12:08:18 +0000 (12:08 +0000)]
Merging r59153 through r59161 from trunk into soc-2013-depsgraph_mt

8 years agoCompilation error fix when using scons
Sergey Sharybin [Thu, 15 Aug 2013 12:05:42 +0000 (12:05 +0000)]
Compilation error fix when using scons

OpenEXR libraries shall go after OpenImageIO,
otherwise it'll fail to find symbols needed
for OIIO.

8 years ago== filebrowser ==
Andrea Weikert [Thu, 15 Aug 2013 10:14:41 +0000 (10:14 +0000)]
== filebrowser ==
* FIX: selecting bookmark or recent file caused UNDO push, also caused issue with the 'Open' and 'Cancel' buttons being grayed out.

Reported by Sergey Sharybin in IRC, many thanks.

8 years agoAdded detailed timing information output
Sergey Sharybin [Thu, 15 Aug 2013 10:11:08 +0000 (10:11 +0000)]
Added detailed timing information output

Used to visualize CPU threads activity during threaded
object update.

It prints whole bunch of timing information to STDERR
which then could be parsed and nicely visualized.

Detailed statistics is disabled by default.

File to parse and visualize statistics:

And screenshot for fun:

8 years agoSkip objects which doesn't need update from update statistics
Sergey Sharybin [Thu, 15 Aug 2013 10:11:05 +0000 (10:11 +0000)]
Skip objects which doesn't need update from update statistics

8 years agoMerging r59136 through r59152 from trunk into soc-2013-depsgraph_mt
Sergey Sharybin [Thu, 15 Aug 2013 08:23:16 +0000 (08:23 +0000)]
Merging r59136 through r59152 from trunk into soc-2013-depsgraph_mt

8 years agoFix #36384: Inconsistent curve fill behaviour
Sergey Sharybin [Thu, 15 Aug 2013 07:59:32 +0000 (07:59 +0000)]
Fix #36384: Inconsistent curve fill behaviour

Creating new splines via Python API didn't take
curve dimension into account.

Now adding new splines will set 2D/3D flag for
spline according to curve's dimension.

8 years agoBlender might be compiled without guardedalloc again
Sergey Sharybin [Thu, 15 Aug 2013 07:36:56 +0000 (07:36 +0000)]
Blender might be compiled without guardedalloc again

This is useful for benchmark tests, to make CPU cache
utilization as good as we could with current design.

8 years agofix [#36455] importing obj data after saving doesn't work
Campbell Barton [Thu, 15 Aug 2013 00:32:12 +0000 (00:32 +0000)]
fix [#36455] importing obj data after saving doesn't work

8 years agoBGE: The Action Actuator can now make use of additive blending.
Mitchell Stokes [Wed, 14 Aug 2013 23:32:00 +0000 (23:32 +0000)]
BGE: The Action Actuator can now make use of additive blending.

8 years agoBGE: Finally adding support for additive layer blending.
Mitchell Stokes [Wed, 14 Aug 2013 23:31:49 +0000 (23:31 +0000)]
BGE: Finally adding support for additive layer blending.

Currently this is only for the Python API. The logic brick will be updated in a future commit.

8 years agoAdding a new state for sound handles in audaspace: stopped.
Joerg Mueller [Wed, 14 Aug 2013 21:21:00 +0000 (21:21 +0000)]
Adding a new state for sound handles in audaspace: stopped.

Now sounds that stopped playing but are still kept in the device can be differentiated from paused sounds with this state.
This should also fix the performance issues mentioned in [#36466] End of SequencerEntrys not set correctly.
Please test if sound pausing, resuming and stopping works fine in the BGE and sequencer, my tests all worked fine, but there might be a use case that needs some fixing.

8 years agoFix #36467: ends of curves - 2D differs to 3D
Sergey Sharybin [Wed, 14 Aug 2013 19:45:35 +0000 (19:45 +0000)]
Fix #36467: ends of curves - 2D differs to 3D

This is getting confused, why bevel is handled different
for 2D and 3D curves?

Anyway, made bevel work for 2D case nice again, but it's
probably nice to unify 2D and 3D cases.

8 years agoCycles:
Thomas Dinges [Wed, 14 Aug 2013 19:38:14 +0000 (19:38 +0000)]
* Remove an unneeded return in shader_bsdf_eval(), function is void.
* if / else if tweak in shader_bsdf_ao().

8 years agofix [#36349] Separate mesh by material creates meshes with all the materials from...
Campbell Barton [Wed, 14 Aug 2013 14:36:43 +0000 (14:36 +0000)]
fix [#36349] Separate mesh by material creates meshes with all the materials from the original

8 years agoadd materials.clear() method, matching other python list method.
Campbell Barton [Wed, 14 Aug 2013 11:29:58 +0000 (11:29 +0000)]
add materials.clear() method, matching other python list method.

8 years agoquiet compiler warnings.
Campbell Barton [Wed, 14 Aug 2013 11:29:22 +0000 (11:29 +0000)]
quiet compiler warnings.

8 years agoMerging r59130 through r59135 from trunk into soc-2013-depsgraph_mt
Sergey Sharybin [Wed, 14 Aug 2013 10:42:18 +0000 (10:42 +0000)]
Merging r59130 through r59135 from trunk into soc-2013-depsgraph_mt

8 years agoFix double-free happening when having proxy with motion paths
Sergey Sharybin [Wed, 14 Aug 2013 10:39:16 +0000 (10:39 +0000)]
Fix double-free happening when having proxy with motion paths

Make it so mpath is not shared between several bones now.

Fix suggested by Joshua Leung, thanks!

8 years agoRecent spinlock commit made scheduling unsafe for threading
Sergey Sharybin [Wed, 14 Aug 2013 09:24:15 +0000 (09:24 +0000)]
Recent spinlock commit made scheduling unsafe for threading

Namely, it caused nodes be adding to the pool multiple times.

Returned spin back, but use it only in cases node valency is
zero. So now valency is decreasing without any locks, then
if it's zero spin lock happens, node color (which indicates
whether node is scheduled or not) happens. Actual new task
creation happens outside of locks.

This might sound a bit complicated, but it's straightforward
code which is free from any thread synchronization latency.

8 years agofix bug with editmesh rip, active edge could be left on the unselected side of the...
Campbell Barton [Wed, 14 Aug 2013 09:14:33 +0000 (09:14 +0000)]
fix bug with editmesh rip, active edge could be left on the unselected side of the edge loops.

8 years agobmesh utility functions for storing an editselection after another in the list.
Campbell Barton [Wed, 14 Aug 2013 09:13:11 +0000 (09:13 +0000)]
bmesh utility functions for storing an editselection after another in the list.

8 years agofix own error in BM_mesh_calc_edge_groups() was clearning wrong dirty-index flag.
Campbell Barton [Wed, 14 Aug 2013 08:14:50 +0000 (08:14 +0000)]
fix own error in BM_mesh_calc_edge_groups() was clearning wrong dirty-index flag.
also remove unused transform defines.

8 years agoMerging r59113 through r59129 from trunk into soc-2013-depsgraph_mt
Sergey Sharybin [Wed, 14 Aug 2013 07:08:59 +0000 (07:08 +0000)]
Merging r59113 through r59129 from trunk into soc-2013-depsgraph_mt

8 years agoinclude order change for osl, fixes gcc compile error - undefined uintptr_t
Campbell Barton [Wed, 14 Aug 2013 06:51:18 +0000 (06:51 +0000)]
include order change for osl, fixes gcc compile error - undefined uintptr_t

8 years agoFix for uninitialized covariance matrix
Sergey Sharybin [Wed, 14 Aug 2013 05:30:35 +0000 (05:30 +0000)]
Fix for uninitialized covariance matrix

This is likely a culptrit caused #36231: Motion tracker bug in 2.68

8 years agoBGE Dome: bugfix - Warp Mesh not working
Dalai Felinto [Wed, 14 Aug 2013 02:59:09 +0000 (02:59 +0000)]
BGE Dome: bugfix - Warp Mesh not working

Fix: to swap the drawing order for the warp mesh polygon
The code was drawing CW instead of CCW.

It would work in some cases where the drawing flags would allow for the
back faces to be visible.

More specifically the alternative fix were:
glDisable ( GL_CULL_FACE );
glFrontFace( GL_CW );

Bug originally reported in the small_planetarium mailing list.
This bug fix was a comissioned job by a group who prefer not to be
credited. Thanks regardless.

8 years agobmesh edge-net: refactor out face creation into its own function, replace array reall...
Campbell Barton [Tue, 13 Aug 2013 23:48:48 +0000 (23:48 +0000)]
bmesh edge-net: refactor out face creation into its own function, replace array reallocation with alloca.
fix for error increasing the face tag count when the face might not be created.

8 years agoutility functions to reverse and wrap arrays.
Campbell Barton [Tue, 13 Aug 2013 23:43:44 +0000 (23:43 +0000)]
utility functions to reverse and wrap arrays.

8 years agobmo_edgenet_fill_exec was building a vertex array when it didnt need to. also simplif...
Campbell Barton [Tue, 13 Aug 2013 22:28:16 +0000 (22:28 +0000)]
bmo_edgenet_fill_exec was building a vertex array when it didnt need to. also simplify for loops.

8 years agoTypo (dimention instead of dimension).
Bastien Montagne [Tue, 13 Aug 2013 18:35:39 +0000 (18:35 +0000)]
Typo (dimention instead of dimension).

8 years agoFix #36461: ends of curves - twist still not good
Sergey Sharybin [Tue, 13 Aug 2013 15:27:49 +0000 (15:27 +0000)]
Fix #36461: ends of curves - twist still not good

Needed correct quat for first point as well.

Maybe it's time to refactor make_minimum_twist function a bit..

8 years agoMerging r59104 through r59112 from trunk into soc-2013-depsgraph_mt
Sergey Sharybin [Tue, 13 Aug 2013 15:09:19 +0000 (15:09 +0000)]
Merging r59104 through r59112 from trunk into soc-2013-depsgraph_mt

8 years agoFix crash happening when clearing parent in outliner modes which doesn't support...
Sergey Sharybin [Tue, 13 Aug 2013 14:46:39 +0000 (14:46 +0000)]
Fix crash happening when clearing parent in outliner modes which doesn't support this.

8 years agouse __builtin_nanf with gcc and clang.
Campbell Barton [Tue, 13 Aug 2013 10:40:23 +0000 (10:40 +0000)]
use __builtin_nanf with gcc and clang.

8 years agomake materials.pop() and more like pythons list.pop
Campbell Barton [Tue, 13 Aug 2013 10:21:11 +0000 (10:21 +0000)]
make materials.pop() and more like pythons list.pop
- allow negative index values.
- error when invalid index value are passed in.
- remove last item if no index argument is given.

also change behavior to remove the material slot, it was only clearning by default but the list length remained the same.

8 years agoMoved NAN_FLT define to BLI_math, this may come in useful.
Lukas Toenne [Tue, 13 Aug 2013 10:09:27 +0000 (10:09 +0000)]
Moved NAN_FLT define to BLI_math, this may come in useful.

8 years agoCode cleanup:
Thomas Dinges [Tue, 13 Aug 2013 08:43:31 +0000 (08:43 +0000)]
Code cleanup:
* Some typo fixes.

8 years agoFix compilation error, missing size_t declaration
Sergey Sharybin [Tue, 13 Aug 2013 07:54:55 +0000 (07:54 +0000)]
Fix compilation error, missing size_t declaration

8 years agoBGE: Updating the bge.logic.expandPath() documentation to better reflect its current...
Mitchell Stokes [Tue, 13 Aug 2013 07:48:07 +0000 (07:48 +0000)]
BGE: Updating the bge.logic.expandPath() documentation to better reflect its current behavior.

8 years agoMerging r59083 through r59103 from trunk into soc-2013-depsgraph_mt
Sergey Sharybin [Tue, 13 Aug 2013 07:37:13 +0000 (07:37 +0000)]
Merging r59083 through r59103 from trunk into soc-2013-depsgraph_mt

8 years agoadd support for loading 8bit BMP images
Campbell Barton [Tue, 13 Aug 2013 07:18:07 +0000 (07:18 +0000)]
add support for loading 8bit BMP images

8 years agoFix #36451, Particle system crashes blender. The psys_render_restore function was...
Lukas Toenne [Tue, 13 Aug 2013 06:21:39 +0000 (06:21 +0000)]
Fix #36451, Particle system crashes blender. The psys_render_restore function was accessing the psys->frand random number array, but since the particle modifier is disabled this array does not get
initialized. Added a sanity check to skip disabled particle systems in BI render. (why wasn't this done before?)