5 years agoCMake: check for LLVM static library by default
Campbell Barton [Tue, 19 Jan 2016 01:37:26 +0000 (12:37 +1100)]
CMake: check for LLVM static library by default

Even when static option isn't enabled, use the static library path if the dynamic library isn't found.

5 years agoWeight Paint: Add lock-aware normalize
Campbell Barton [Mon, 18 Jan 2016 22:14:35 +0000 (09:14 +1100)]
Weight Paint: Add lock-aware normalize

D1713 from @angavrilov (with own edits)

The way current weight paint code works is that instead of making normalization lock aware, a separate `enforce_locks` function is called to do a different kind of normalization, hoping that by the time real normalize is called, there is nothing for it to do. The problem is that:

- That different normalization is based on adding the same amount to all unlocked groups, whereas true normalize uses multiplication to preserve ratio between them. The multiplicative approach should match the way weights operate better.
- If `enforce_locks` fails to achieve perfect normalization, true normalize will change locked groups.

Try to fix this by replacing `enforce_locks` with true lock-aware normalization support.

Supporting locked groups in normalize means that freezing the active group can make full normalization impossible if too much weight was added or removed, so it may be necessary to do two normalize passes. This is similar to how enforce_locks operates.

Also, now there is no need to go through the multi-paint branch just because of the locks. In the actual multi-paint case, the same normalize code can be used via a temporary flag array that represents the union of selected and locked groups.

User-visible effect should be:

- Auto-Normalize doesn't change behavior vertex to vertex depending on whether it has any locked groups.
- It never changes locked groups; if you lock some groups and start painting with seriously non-normalized weights, it's assumed you intended that.
- It never adds vertices to new groups, since the computer can't do that intelligently anyway - it was especially broken in case of mirroring.
- It always acts to preserve the ratio between groups it changes, instead of (sometimes, see point 1) adding or subtracting the same amount.

5 years agoGTests: array_utils
Campbell Barton [Mon, 18 Jan 2016 20:15:27 +0000 (07:15 +1100)]
GTests: array_utils

5 years agoBLI_array_utils: add binary and/or functions
Campbell Barton [Mon, 18 Jan 2016 20:00:55 +0000 (07:00 +1100)]
BLI_array_utils: add binary and/or functions

5 years agoIgnore const qualifier when comparing types
Campbell Barton [Mon, 18 Jan 2016 20:50:07 +0000 (07:50 +1100)]
Ignore const qualifier when comparing types

5 years agoCleanup: style
Campbell Barton [Mon, 18 Jan 2016 09:10:18 +0000 (20:10 +1100)]
Cleanup: style

5 years agorather then → rather than
Sybren A. Stüvel [Mon, 18 Jan 2016 09:20:08 +0000 (10:20 +0100)]
rather then → rather than

5 years agoOpenGL: remove ARB_fragment_program comment
Mike Erwin [Mon, 18 Jan 2016 04:26:23 +0000 (23:26 -0500)]
OpenGL: remove ARB_fragment_program comment

This a list of OpenGL extensions used. Minus one thanks to
kevindietrich’s smoke work!

5 years agoTransform: no need to store distance to snap point
Campbell Barton [Mon, 18 Jan 2016 02:15:38 +0000 (13:15 +1100)]
Transform: no need to store distance to snap point

Compare squared distance to snap target since the value is only ever used for comparison.

5 years agoFix T29153: Rotate & scale ignore snapping points
Campbell Barton [Mon, 18 Jan 2016 01:03:43 +0000 (12:03 +1100)]
Fix T29153: Rotate & scale ignore snapping points

Checking for 'Closest' here isn't needed since
TransSnap.snapTarget callback is already ensuring the selected target is the closest.

Also don't reuse the pre-calculated distance,
since its only valid to do this when there are no snap points
and this isn't a significant gain to avoid the extra calculation - run once per update.

5 years agoUI: use a callback for the progress tooltip
Campbell Barton [Mon, 18 Jan 2016 02:53:38 +0000 (13:53 +1100)]
UI: use a callback for the progress tooltip

Avoids constructing tip text and storing it when its not used.

Also quiet divide by zero warning when no progress was made.

5 years agoUI: redesign of the progress bar.
Kévin Dietrich [Mon, 18 Jan 2016 00:39:09 +0000 (01:39 +0100)]
UI: redesign of the progress bar.

A picture is worth a thousand words:

Reviewers: #user_interface, brecht, dingto

Reviewed by: brecht, dingto

Differential Revision:

5 years agoBGE: Allow access to light shadow settings with python
Ulysse Martin [Sun, 17 Jan 2016 17:41:37 +0000 (18:41 +0100)]
BGE: Allow access to light shadow settings with python

This patch adds a new API which allow us to access light shadow settings from python. The new API can be used to write custom GLSL materials with shadows.

Reviewers: brecht, kupoman, agoose77, panzergame, campbellbarton, moguri, hg1

Reviewed By: agoose77, panzergame, campbellbarton, moguri, hg1

Projects: #game_engine

Differential Revision:

5 years agopaint_cursor: OMP -> BLI_task.
Bastien Montagne [Sun, 17 Jan 2016 16:16:57 +0000 (17:16 +0100)]
paint_cursor: OMP -> BLI_task.

5 years agoBump boost to 1.60
Martijn Berger [Sun, 17 Jan 2016 11:44:25 +0000 (12:44 +0100)]
Bump boost to 1.60

5 years agoCMake: clarify missing Python package message
Campbell Barton [Sun, 17 Jan 2016 05:01:32 +0000 (16:01 +1100)]
CMake: clarify missing Python package message

Blender builds properly without extra Python packages,
avoid FUD for new devs.

5 years agoCleanup: spelling
Campbell Barton [Sun, 17 Jan 2016 02:40:30 +0000 (13:40 +1100)]
Cleanup: spelling

Also use doxy formatting for warning/note.

5 years agoCleanup: style
Campbell Barton [Sun, 17 Jan 2016 02:40:22 +0000 (13:40 +1100)]
Cleanup: style

5 years agoRevert "Make 'incompatible pointer type' gcc warning an error by default."
Campbell Barton [Sun, 17 Jan 2016 02:18:41 +0000 (13:18 +1100)]
Revert "Make 'incompatible pointer type' gcc warning an error by default."

This reverts commit b5bd39b5182590fd4d5ddb24d7b7bdbe714d57bf.

This is problematic because it means minor differences in system headers can cause errors
(glew in this case errored for me both with system and Blender's bundled version).

Developers can enable -Werror=* locally for warnings that aren't reliable across different systems.

5 years agoRevert "Fix compile error in gpu_debug (incompatible-pointer-type)."
Campbell Barton [Sun, 17 Jan 2016 02:19:14 +0000 (13:19 +1100)]
Revert "Fix compile error in gpu_debug (incompatible-pointer-type)."

This reverts commit 75cfc81ec39ac9953f25eb0ae5f9e70d3c24ee7e.

5 years agoPoint Cache bake: make sure endframe is initialize with a decent value.
Kévin Dietrich [Sun, 17 Jan 2016 02:13:15 +0000 (03:13 +0100)]
Point Cache bake: make sure endframe is initialize with a decent value.

This is how the old code used to initialize it. Current value was
failing big time when baking all caches (always set to MAXFRAME), and it
was added right before commit to quiet a warning... (I know, I know...)

5 years agoDynamic Paint: use job system for the image sequence bake operator.
Kévin Dietrich [Sun, 17 Jan 2016 01:04:46 +0000 (02:04 +0100)]
Dynamic Paint: use job system for the image sequence bake operator.

Reviewers: brecht

Differential Revision:

5 years agoPoint Cache: use job system for bake operators.
Kévin Dietrich [Sun, 17 Jan 2016 01:01:41 +0000 (02:01 +0100)]
Point Cache: use job system for bake operators.

Reviewers: brecht

Differential Revision:

5 years agoFix compile error in gpu_debug (incompatible-pointer-type).
Kévin Dietrich [Sun, 17 Jan 2016 00:58:06 +0000 (01:58 +0100)]
Fix compile error in gpu_debug (incompatible-pointer-type).

5 years agoFix memory leak in (the still unused) WM_reportf.
Brecht Van Lommel [Sat, 16 Jan 2016 22:21:27 +0000 (23:21 +0100)]
Fix memory leak in (the still unused) WM_reportf.

5 years agoMake 'incompatible pointer type' gcc warning an error by default.
Bastien Montagne [Sat, 16 Jan 2016 22:00:42 +0000 (23:00 +0100)]
Make 'incompatible pointer type' gcc warning an error by default.

This is the second time at least that kind of stuff slips in during one of my refactor,
a mere warning here is really not enough (too easy to miss it)!

5 years agoFix T47189: Large smoke simulation sometimes make Blender crash.
Bastien Montagne [Sat, 16 Jan 2016 21:37:34 +0000 (22:37 +0100)]
Fix T47189: Large smoke simulation sometimes make Blender crash.

Issue was with very thin domains along one or two axes, these could lead to simulation
with only one cell width - and smoke code assumes we have at least 4 cells in each direction.

So now, we clamp resolution to a minimum of 4 in smoke_set_domain_from_derivedmesh().

Note: in extreme cases like this report, this will generate very un-cubic cells,
check it still works OK in 3DView is needed here.

Thanks to @genscher and @kevindietrich for help on this issue. :)

5 years agoFix incorrect function for sculpt multithreading task after recent refactor.
Brecht Van Lommel [Sat, 16 Jan 2016 21:25:52 +0000 (22:25 +0100)]
Fix incorrect function for sculpt multithreading task after recent refactor.

5 years agoWM: remove unnecessary context argument from WM_report, no good reason to have it.
Brecht Van Lommel [Sat, 16 Jan 2016 20:51:05 +0000 (21:51 +0100)]
WM: remove unnecessary context argument from WM_report, no good reason to have it.

5 years agoFix smoke BLI_task'ed code after recent refactor.
Bastien Montagne [Sat, 16 Jan 2016 20:43:10 +0000 (21:43 +0100)]
Fix smoke BLI_task'ed code after recent refactor.

Curse gcc for not erroring by default on passing wrong func pointers... :/

5 years agoOpenGL Smoke: fix possible inconsistency between fire shader/texture binding.
Brecht Van Lommel [Sat, 16 Jan 2016 17:48:38 +0000 (18:48 +0100)]
OpenGL Smoke: fix possible inconsistency between fire shader/texture binding.

5 years agoCycles: Fix compilation with older OSL
Sergey Sharybin [Sat, 16 Jan 2016 17:46:23 +0000 (22:46 +0500)]
Cycles: Fix compilation with older OSL

We didn't switch to OSL-1.6.9 on all platforms yet,
so please keep codeabse compiled with 1.5 for the
time being.

5 years agoCleanup: BLI_task foreach looper API doc.
Bastien Montagne [Sat, 16 Jan 2016 15:06:27 +0000 (16:06 +0100)]
Cleanup: BLI_task foreach looper API doc.

5 years agoCleanup: BLI_task - API changes.
Bastien Montagne [Sat, 16 Jan 2016 14:59:37 +0000 (15:59 +0100)]
Cleanup: BLI_task - API changes.

Based on usages so far:
- Split callback worker func in two, 'basic' and 'extended' versions. The former goes back
  to the simplest verion, while the later keeps the 'userdata_chunk', and gets the thread_id too.
- Add use_threading to simple BLI_task_parallel_range(), turns out we need this pretty much systematically,
  and allows to get rid of most usages of BLI_task_parallel_range_ex().
- Now BLI_task_parallel_range() expects 'basic' version of callback, while BLI_task_parallel_range_ex()
  expectes 'extended' version of the callback.

All in all, this should make common usage of BLI_task_parallel_range simpler (less verbose), and add
access to advanced callback to thread id, which is mandatory in some (future) cases.

5 years agoFix (unreported) missing scene->gm.dome.warptext in libquery looper.
Bastien Montagne [Sat, 16 Jan 2016 11:46:04 +0000 (12:46 +0100)]
Fix (unreported) missing scene->gm.dome.warptext in libquery looper.

5 years agoFix T47188: Blender crashes when trying to undo adding new scene with "copy settings".
Bastien Montagne [Sat, 16 Jan 2016 11:44:55 +0000 (12:44 +0100)]
Fix T47188: Blender crashes when trying to undo adding new scene with "copy settings".

Our RenderSettings struct may have a bit too much levels, makes it hard to track
all 'pointer' data during copy...

Fixed several issues here, but not sure I found all existing ones. :/

5 years agoFix T47180: Cycles deform motion blur + displacement behaves weirdly
Sergey Sharybin [Sat, 16 Jan 2016 10:36:42 +0000 (15:36 +0500)]
Fix T47180: Cycles deform motion blur + displacement behaves weirdly

Displacement shader was not updating motion vertex positions.

Current solution is not totally correct because it applies same offset
for all time steps. Ideally we'll need to evaluate displacement shader
for every time offset separately, but currently we don't have subframe
image access.

For the time being will consider this a TODO.

5 years agoOpenGL: remove redundant state change
Mike Erwin [Sat, 16 Jan 2016 07:19:16 +0000 (02:19 -0500)]
OpenGL: remove redundant state change

5 years agocleanup: C99
Mike Erwin [Sat, 16 Jan 2016 07:17:05 +0000 (02:17 -0500)]
cleanup: C99

- tighter scoping
- declare closer to use
- struct initializers
- bool vs int

5 years agoOpenGL: simplify some UI draw calls
Mike Erwin [Sat, 16 Jan 2016 06:17:51 +0000 (01:17 -0500)]
OpenGL: simplify some UI draw calls

- vectorscope grid
- color ramp handles
- box shadows (image file preview)

5 years agoOpenGL: pull glBegin/End out of loop
Mike Erwin [Sat, 16 Jan 2016 05:11:49 +0000 (00:11 -0500)]
OpenGL: pull glBegin/End out of loop

so that all points here are drawn between one Begin/End pair.

5 years agoOpenGL: fixes related to GL_POINTS
Mike Erwin [Sat, 16 Jan 2016 03:59:42 +0000 (22:59 -0500)]
OpenGL: fixes related to GL_POINTS

I put all usage of GL_POINTS under the microscope. Fixed problems &
optimized a couple of spots.

- reduce calls to glPointSize by about 50%
- draw selected & unselected vertices together for UV editor & EditMesh
- draw initial gpencil stroke point the proper size
- a few other smaller fixes

New policy: each GL_POINTS draw call needs to set its desired point
size. This eliminates half our calls to glPointSize (setting it back to
its 1.0 default after every draw).

5 years agoCleanup: stdbool no longer optional, remove checks
Campbell Barton [Sat, 16 Jan 2016 04:34:49 +0000 (15:34 +1100)]
Cleanup: stdbool no longer optional, remove checks

5 years agoCleanup: use enum constant for DNA comparison
Campbell Barton [Sat, 16 Jan 2016 04:00:22 +0000 (15:00 +1100)]
Cleanup: use enum constant for DNA comparison

5 years agoBlender Internal: subframe render support
Campbell Barton [Sat, 16 Jan 2016 02:06:16 +0000 (13:06 +1100)]
Blender Internal: subframe render support

Note this doesn't expose the option to the interface,
it just means scripts that set the subframe can render (as with Cycles).

5 years agoCleanup: style
Campbell Barton [Sat, 16 Jan 2016 02:01:10 +0000 (13:01 +1100)]
Cleanup: style

5 years agoFix T47181: Blender OSL script node crash (OSL 1.6.9)
Lukas Stockner [Sat, 16 Jan 2016 00:32:22 +0000 (01:32 +0100)]
Fix T47181: Blender OSL script node crash (OSL 1.6.9)

Compiling OSL scripts with errors in them would cause Blender to crash since the OSL version
bump to 1.6.9 instead of printing the error to the console as it did before.

With version 1.6.2, OSL added a pointer to an OpenImageIO ErrorHandler as an argument to the
OSLCompiler constructor. However, since it defaults to the NULL pointer, Blender still compiled
fine after the OSL version bump.
It turns out, though, that this pointer is used without further checks inside the OSL code, which
makes it crash when it tries to report an error unless a valid ErrorHandler pointer is specified.
Therefore, this commit simply passes a pointer to the static default handler that OIIO offers,
which prints the error to the console just like OSL did before.

Using this feature for a more advanced error handling and displaying from the Blender side would
be possible and seems reasonable, but for now it's not really relevant for fixing this bug.

5 years agoCycles-Bake: Custom Baking passes
Dalai Felinto [Fri, 15 Jan 2016 15:00:56 +0000 (13:00 -0200)]
Cycles-Bake: Custom Baking passes

The combined pass is built with the contributions the user finds fit.

It is useful for lightmap baking, as well as non-view dependent effects

The manual will be updated once we get closer to the 2.77 release.
Meanwhile the new page can be found here:

Reviewers: sergey, brecht

Differential Revision:

5 years agoFix T47185: Wrong items order with template_icon_view.
Bastien Montagne [Fri, 15 Jan 2016 14:19:14 +0000 (15:19 +0100)]
Fix T47185: Wrong items order with template_icon_view.

5 years agoChanges around update normals from PBVH to CDDM
Sergey Sharybin [Fri, 15 Jan 2016 11:29:57 +0000 (16:29 +0500)]
Changes around update normals from PBVH to CDDM

- Only do this if PBVH is not used for display, this should correspond
  to whats' happening in sculpt.c now.

- No need to do such synchronization for solid drawing, it supports
  optimal display from PBVH.

In fact, such synchronization is only needed in the following case:

Drawing callback does not support PBVH draw and sculpt session is
configured to use PBVH for display and related operations.

5 years agoTracking: Make plane track sliding aware of closest mouse
Sergey Sharybin [Fri, 15 Jan 2016 10:37:46 +0000 (15:37 +0500)]
Tracking: Make plane track sliding aware of closest mouse

Also made threshold aware of zoom, so now it's always 12px threshold
regardless of how much you're zoomed in.

5 years agoTracking: Split tracking_ops into smaller files
Sergey Sharybin [Fri, 15 Jan 2016 09:02:26 +0000 (14:02 +0500)]
Tracking: Split tracking_ops into smaller files

The file started to be rather really huge and difficult to follow.
Should be no functional changes.

5 years agoTracking: Cleanup, use more strict code style
Sergey Sharybin [Fri, 15 Jan 2016 08:48:24 +0000 (13:48 +0500)]
Tracking: Cleanup, use more strict code style

Should be no functional changes.

5 years agoCleanup: used pre-defined atoms in ghost
Campbell Barton [Fri, 15 Jan 2016 07:39:40 +0000 (18:39 +1100)]
Cleanup: used pre-defined atoms in ghost

5 years agoTracking: Use sliding zone which is closer to the mouse
Sergey Sharybin [Fri, 15 Jan 2016 07:23:24 +0000 (12:23 +0500)]
Tracking: Use sliding zone which is closer to the mouse

Previously it was simplier logic which only checked whether the mouse
is inside of some area around sliding zone, which was resulting in
wrong sliding zone used when zoomed out.

5 years agoFix T31063: X11 window resize fails on PPC
Campbell Barton [Fri, 15 Jan 2016 05:26:41 +0000 (16:26 +1100)]
Fix T31063: X11 window resize fails on PPC

X11 property access was using wrong sized types that only worked for little endian systems.

5 years agoFix crash w/ scripts run from the command line that load files
Campbell Barton [Thu, 14 Jan 2016 22:57:54 +0000 (09:57 +1100)]
Fix crash w/ scripts run from the command line that load files

Also refactor context backup/restore into functions.

5 years agoDNA: partial revert of long removal
Campbell Barton [Thu, 14 Jan 2016 22:16:24 +0000 (09:16 +1100)]
DNA: partial revert of long removal

924c626 broke loading on systems with different endian.
We could support reading values from SDNA, it isn't really worth the extra hassle.

Long support is still removed, just keep enum values the same.

5 years agoFix T47168: Project image looses float precision
Campbell Barton [Thu, 14 Jan 2016 20:32:30 +0000 (07:32 +1100)]
Fix T47168: Project image looses float precision

5 years agoDoc: more detailed ImBuf.rect/rect_float comments
Campbell Barton [Thu, 14 Jan 2016 20:08:28 +0000 (07:08 +1100)]
Doc: more detailed ImBuf.rect/rect_float comments

5 years agoCleanup: warning, whitespace
Campbell Barton [Thu, 14 Jan 2016 18:24:15 +0000 (05:24 +1100)]
Cleanup: warning, whitespace

5 years agoImprove multi-paint tip
Campbell Barton [Thu, 14 Jan 2016 10:56:25 +0000 (21:56 +1100)]
Improve multi-paint tip

5 years agoUsual fixes and tweaks for UI messages.
Bastien Montagne [Thu, 14 Jan 2016 15:37:06 +0000 (16:37 +0100)]
Usual fixes and tweaks for UI messages.

5 years agoFix broken i18n messages extracting script with new py code.
Bastien Montagne [Thu, 14 Jan 2016 15:00:15 +0000 (16:00 +0100)]
Fix broken i18n messages extracting script with new py code.

Some py devs are way too smart for our own good... :P

5 years agoCycles: One more attempt to fix issue mentioned in previous commit
Sergey Sharybin [Thu, 14 Jan 2016 14:12:11 +0000 (19:12 +0500)]
Cycles: One more attempt to fix issue mentioned in previous commit

5 years agoCycles: Fix typo in the debug panel commit
Sergey Sharybin [Thu, 14 Jan 2016 14:07:06 +0000 (19:07 +0500)]
Cycles: Fix typo in the debug panel commit

5 years agoCycles: Fix string compiler warnings after recent changes
Sergey Sharybin [Thu, 14 Jan 2016 12:04:30 +0000 (17:04 +0500)]
Cycles: Fix string compiler warnings after recent changes

5 years agoCycles: Cleanup, spelling and indentation
Sergey Sharybin [Thu, 14 Jan 2016 12:01:39 +0000 (17:01 +0500)]
Cycles: Cleanup, spelling and indentation

5 years agoCycles: Remove the experimental CUDA kernel.
Thomas Dinges [Thu, 14 Jan 2016 11:51:11 +0000 (12:51 +0100)]
Cycles: Remove the experimental CUDA kernel.

This commit removes the experimental CUDA kernel, making SSS and CMJ
regular features.

Several improvements have been made in the past few
weeks (thanks Sergey!) which make SSS render several times faster (2-3x
compared to 2.76b) on the GPU, and the increased VRAM usage has also been
fixed. Therefore the experimental kernel is no longer needed.

Differential Revision:

Manual has been updated: too:

5 years agoCompositor: Add option to extend image bounds when blurring
Sergey Sharybin [Wed, 9 Dec 2015 14:31:39 +0000 (19:31 +0500)]
Compositor: Add option to extend image bounds when blurring

It is handy when doing some roto work and it's required to blur some
mask or overaly before alpha-overing it on top of the footage.

Quite straightforward option with the only limitation that variable
size blur is not supported.

Reviewers: campbellbarton

Subscribers: hype, sebastian_k

Differential Revision:

5 years agoLibmv: Solve strict compiler warnings in stubs
Sergey Sharybin [Thu, 14 Jan 2016 10:56:05 +0000 (15:56 +0500)]
Libmv: Solve strict compiler warnings in stubs

5 years agoAdd compression modes for TIFF images
Quentin Wenger [Thu, 14 Jan 2016 10:02:13 +0000 (15:02 +0500)]
Add compression modes for TIFF images

This patch aims at providing multiple compression modes for TIFF output,
particularly uncompressed mode.

At this moment  have None, Deflate, LZW and Pack Bits modes been integrated,
mimicking The GIMP export modes (except JPEG mode, which returned encoding

More modes could be added if needed.

Default remains Deflate.

Reviewers: campbellbarton, mont29, sergey

Differential Revision:

5 years agoCycles: Tweak inline policy for some functions
Sergey Sharybin [Thu, 14 Jan 2016 09:53:05 +0000 (14:53 +0500)]
Cycles: Tweak inline policy for some functions

The goal is to make Experimental kernel closer in performance to the
official kernel, avoiding spills and such.

There should not be big impact on official kernel, own tests showed
few percent performance drop on laptop's GPU. CPU was always the
same speed on AVX, AVX2 and SSE4.1 CPUs i've been testing here.

This seems to be the last essential step before we can get rid of
Experimental kernel and enable SSS officially on GPU without causing
some major performance issues.

Surely some more tweaks are possibly required, but that we can do
for until cows go home anyway.

5 years agoCycles: Reduce scope of some defines set in CMakeLists
Sergey Sharybin [Tue, 12 Jan 2016 15:50:43 +0000 (20:50 +0500)]
Cycles: Reduce scope of some defines set in CMakeLists

Should be no functional changes at all, just speeds up re-compilation
when some features needs to be disabled for development purposes.

For example, when running lots of Valgrind it's handy to disable any
GPU devices because otherwise you'll be wasting quite some time in
the driver while enumerating devices.

Reviewers: dingto, lukasstockner97, brecht, juicyfruit

Differential Revision:

5 years agoFix typo in image editor grease pencil panel
Campbell Barton [Thu, 14 Jan 2016 07:59:05 +0000 (18:59 +1100)]
Fix typo in image editor grease pencil panel

5 years agoFix image save ignoring options
Campbell Barton [Thu, 14 Jan 2016 07:51:48 +0000 (18:51 +1100)]
Fix image save ignoring options

Saving an image didn't un-set previously enabled options.
(saving 16bit png as 8 bit didn't work for eg).

5 years agoCMake: Silence messages about unordered map and shared pointer on second run
Sergey Sharybin [Thu, 14 Jan 2016 07:57:58 +0000 (12:57 +0500)]
CMake: Silence messages about unordered map and shared pointer on second run

This variables are being cached anyway and can only be changed on first run,
no need to keep reporting them again and again.

5 years agoCMake: Fix typo in CUDA dynload commit
Sergey Sharybin [Thu, 14 Jan 2016 07:48:14 +0000 (12:48 +0500)]
CMake: Fix typo in CUDA dynload commit

5 years agoCMake: Add additional search path for OpenSubdiv
Sergey Sharybin [Thu, 14 Jan 2016 07:46:01 +0000 (12:46 +0500)]
CMake: Add additional search path for OpenSubdiv

This patch will match where install_deps puts OpenSubdiv.

5 years agoinstall_deps: Cleanup, delete trailing whitespace
Sergey Sharybin [Thu, 14 Jan 2016 07:44:47 +0000 (12:44 +0500)]
install_deps: Cleanup, delete trailing whitespace

Based on patch D1644 by Jeffrey Hoover

5 years agoCMake: De-duplicate checks around unordered maps and shared pointer
Sergey Sharybin [Thu, 14 Jan 2016 07:38:46 +0000 (12:38 +0500)]
CMake: De-duplicate checks around unordered maps and shared pointer

Previously several areas were calling TEST_SHARED_PTR_SUPPORT and
TEST_UNORDERED_MAP_SUPPORT which isn't that bad on it's own but
was causing some quite verbose output with same information line
printed multiple times. additionally, what's more worse, define flags
for Ceres were duplicated in main CMakeLists and Ceres's CMakeLists.

Now we've got a single place where checks for those classes are
happening and other areas are simply checking for variables set by
those check macros, keeping CMake output clean and nice.

5 years agoCycles: Add option to directly link against CUDA libraries
Sergey Sharybin [Thu, 14 Jan 2016 07:24:09 +0000 (12:24 +0500)]
Cycles: Add option to directly link against CUDA libraries

The main purpose of such linking is to make Blender compatible with
NVidia's debuggers and profilers which are doing some LD_PRELOAD
magic to intercept some function calls. Such magic conflicts with
our CUDA wrangler magic and causes segmentation faults.

The option is disabled by default, so there's no affect on any of

In order to make Blender linked directly against CUDA library use
the WITH_CUDA_DYNLOAD CMake option (it's marked as advanced).

5 years agoWeight Painting: Respect locks w/ auto-normalize
Campbell Barton [Thu, 14 Jan 2016 04:16:55 +0000 (15:16 +1100)]
Weight Painting: Respect locks w/ auto-normalize

5 years agoFix weight paint normalizing w/ locked groups
Campbell Barton [Thu, 14 Jan 2016 03:05:15 +0000 (14:05 +1100)]
Fix weight paint normalizing w/ locked groups

Reported as part of T47123

Checks for locked groups assumed auto-normalize
and would distribute wight between groups even with auto-normalize disabled.

5 years agoFix incorrect weight normalize w/ locks
Campbell Barton [Thu, 14 Jan 2016 02:43:26 +0000 (13:43 +1100)]
Fix incorrect weight normalize w/ locks

D1712 by @angavrilov

5 years agoCorrect NULL checks in recent weight-paint fix
Campbell Barton [Thu, 14 Jan 2016 02:19:07 +0000 (13:19 +1100)]
Correct NULL checks in recent weight-paint fix

5 years agoCleanup: use const qualifier in makesdna
Campbell Barton [Thu, 14 Jan 2016 02:00:49 +0000 (13:00 +1100)]
Cleanup: use const qualifier in makesdna

5 years agoCleanup: use BM_mesh_* prefix for BMesh functions
Campbell Barton [Thu, 14 Jan 2016 02:00:11 +0000 (13:00 +1100)]
Cleanup: use BM_mesh_* prefix for BMesh functions

5 years agoUI: show error when pasting fails
Campbell Barton [Thu, 14 Jan 2016 01:53:42 +0000 (12:53 +1100)]
UI: show error when pasting fails

5 years agoFix T47170: Sculpt w/ constructive modifier crash
Campbell Barton [Wed, 13 Jan 2016 23:04:24 +0000 (10:04 +1100)]
Fix T47170: Sculpt w/ constructive modifier crash

Regression in 4d33c37c9

Only copy normal arrays from sculpt to the DerivedMesh when the mesh is deformed.

Constructive modifiers calculate their own normals.

5 years agoAdd object & pose-mode select more/less menus
Campbell Barton [Wed, 13 Jan 2016 22:41:11 +0000 (09:41 +1100)]
Add object & pose-mode select more/less menus

Exposes object parent/child select, which wasn't in any menus.

5 years agoAdd object mode select more/less
Campbell Barton [Wed, 13 Jan 2016 22:38:26 +0000 (09:38 +1100)]
Add object mode select more/less

Simple operator that selects using parent/child links.

5 years agoBI "Real Sky" option works incorrectly for environment texture.
Alexander Romanov [Wed, 13 Jan 2016 08:38:48 +0000 (11:38 +0300)]
BI "Real Sky" option works incorrectly for environment texture.

How to check?

1) Set Rendered mode for 3d View
2) Set "Blend Sky" and "Real Sky" flags for world.
Rotate view you will see right color blending from Horizon to Zenith color.
3) Add environment texture
Rotate view and you will see incorrect texture mapping that is not correspond to color blending that was observed in previous step.

So I conclude that this is a bug.

This issue must be solved before the patch D1414 because BI behavior is the viewport target.

Example: {F273051}

Alexander (Blend4Web Team)

Reviewers: sergey

Reviewed By: sergey

Subscribers: Evgeny_Rodygin, AlexKowel, yurikovelenov

Differential Revision:

5 years agoUse const qualifier in do_sky_tex
Sergey Sharybin [Wed, 13 Jan 2016 08:18:41 +0000 (13:18 +0500)]
Use const qualifier in do_sky_tex

Will be needed for D1729.

5 years agoRemove outdated assert
Campbell Barton [Wed, 13 Jan 2016 04:11:46 +0000 (15:11 +1100)]
Remove outdated assert

5 years agoPolyfill2d: improve sweep clipping logic
Campbell Barton [Wed, 13 Jan 2016 02:49:34 +0000 (13:49 +1100)]
Polyfill2d: improve sweep clipping logic

Now only reverse the fill direction when reaching a non-concave corner.
Gives ~4x speedup here in tests with complex ngon.

5 years agoFinal OMP -> BLI_task commit for sculpt code.
Bastien Montagne [Tue, 12 Jan 2016 18:56:59 +0000 (19:56 +0100)]
Final OMP -> BLI_task commit for sculpt code.

5 years agoBMesh: select next can now step over existing selection
Campbell Barton [Tue, 12 Jan 2016 17:05:27 +0000 (04:05 +1100)]
BMesh: select next can now step over existing selection

5 years agoAdd bmesh.select_history.discard
Campbell Barton [Tue, 12 Jan 2016 17:03:47 +0000 (04:03 +1100)]
Add bmesh.select_history.discard

Follows convention for set, useful to avoid error handling with remove().

5 years agoFix os.path.is_subdir w/ trailing slash
Campbell Barton [Tue, 12 Jan 2016 15:58:53 +0000 (02:58 +1100)]
Fix os.path.is_subdir w/ trailing slash