5 years agoBGE: Allow access to original texture openGL Bind code/Id/Number
Ulysse Martin [Thu, 18 Feb 2016 10:56:25 +0000 (11:56 +0100)]
BGE: Allow access to original texture openGL Bind code/Id/Number

This patch adds a python method to get openGL bind code of material's texture according to the texture slot.

import bge

cont = bge.logic.getCurrentController()
own = cont.owner

bindId = own.meshes[0].materials[0].getTextureBindcode(0)
Test file:

This can be used to play with texture in openGL, for example, remove mipmap on the texture or play with all wrapping or filtering options.
And this can be used to learn openGL with Blender.

Reviewers: TwisterGE, kupoman, moguri, panzergame

Reviewed By: TwisterGE, kupoman, moguri, panzergame

Projects: #game_engine

Differential Revision:

5 years agoActually only remove sqlite dll
Martijn Berger [Thu, 18 Feb 2016 09:53:45 +0000 (10:53 +0100)]
Actually only remove sqlite dll

5 years agoRevert "Fix: T46526, Do not try to install sqlite3.dll anymore as we link it statical...
Martijn Berger [Thu, 18 Feb 2016 09:52:36 +0000 (10:52 +0100)]
Revert "Fix: T46526, Do not try to install sqlite3.dll anymore as we link it statically into pythons _sqlite"

This reverts commit a8e6b633c9f54f0948a0b9a47534bc38ac95889f.

5 years agoCleanup: add missing struct qualifier
Campbell Barton [Thu, 18 Feb 2016 08:32:33 +0000 (19:32 +1100)]
Cleanup: add missing struct qualifier

5 years agoFix: T46526, Do not try to install sqlite3.dll anymore as we link it statically into...
Martijn Berger [Thu, 18 Feb 2016 07:19:14 +0000 (08:19 +0100)]
Fix: T46526, Do not try to install sqlite3.dll anymore as we link it statically into pythons _sqlite

5 years agoFix T47461: Different results on CPU and GPU when using Branched Path Tracing
Lukas Stockner [Thu, 18 Feb 2016 00:13:07 +0000 (01:13 +0100)]
Fix T47461: Different results on CPU and GPU when using Branched Path Tracing

The issue here was actually somewhere else - the attached scene from the report used a light falloff node in a sunlamp (aka distant light).
However, since distant lamps set the ray length to FLT_MAX and the light falloff node squares this value, it overflows and produces a NaN
weight, which propagates and leads to a NaN intensity, which is then clamped to zero and produces the black pixels.

To fix that issue, the smoothing part of the light falloff is just ignored if the smoothing term isn't finite (which makes sense since
the term should converge to 1 as the distance increases).
The reason for the different results on CPUs and GPUs is not perfectly clear, but probably can be explained with different handling of
Inf/NaN edge cases.

Also, to notice issues like these faster in the future, kernel_asserts were added that evaluate as false as soon as a non-finite intensity is produced.

5 years agoFix crash on exit with Blender Internal baking and envmap render.
Brecht Van Lommel [Wed, 17 Feb 2016 21:18:45 +0000 (22:18 +0100)]
Fix crash on exit with Blender Internal baking and envmap render.

5 years agoFix armature relationship lines missing w/ hi-dpi
Campbell Barton [Wed, 17 Feb 2016 19:37:12 +0000 (06:37 +1100)]
Fix armature relationship lines missing w/ hi-dpi

5 years agoFix line width for armature w/ custom bones
Campbell Barton [Wed, 17 Feb 2016 18:46:14 +0000 (05:46 +1100)]
Fix line width for armature w/ custom bones

5 years agoFix T47452: Translate-node seams w/ subpixel offset
Campbell Barton [Wed, 17 Feb 2016 14:28:41 +0000 (01:28 +1100)]
Fix T47452: Translate-node seams w/ subpixel offset

5 years agoBuildbot: Remove CMake cache on all platforms
Sergey Sharybin [Wed, 17 Feb 2016 14:29:13 +0000 (15:29 +0100)]
Buildbot: Remove CMake cache on all platforms

This way we are always sure that we are using latest ever configuration
without need to manually poke buildbot after doing changes in the building

Also uncomment code back, was a left-over from some debug.

5 years agoCycles: Make CUDA 7.5 officially recommended
Sergey Sharybin [Wed, 17 Feb 2016 14:10:02 +0000 (15:10 +0100)]
Cycles: Make CUDA 7.5 officially recommended

This was a hard decision, because going newer CUDA toolkit makes
rendering up to 5% slower. But on another hand, it solves major
speed regressions (up to 30%) with branched path tracing on a
top level cards.

Neither of those regressions have a meaningful and sane workaround
from the code itself.

Toolkit 6.5 could still be used, but it's no longer recommended one.

5 years agoFix/workaround static object initialization in gflags
Sergey Sharybin [Wed, 17 Feb 2016 14:00:12 +0000 (15:00 +0100)]
Fix/workaround static object initialization in gflags

5 years agoinstall_deps: final CMake instructions: always update all libs controlled by this...
Bastien Montagne [Wed, 17 Feb 2016 13:47:49 +0000 (14:47 +0100)]
install_deps: final CMake instructions: always update all libs controlled by this script.

Otherwise, switch from local built to system installed libs (once a valid package becomes available)
would be missed...

5 years agoinstall_deps: OSD building: disable CUDA/OpenCL backends.
Bastien Montagne [Wed, 17 Feb 2016 13:14:41 +0000 (14:14 +0100)]
install_deps: OSD building: disable CUDA/OpenCL backends.

Those are can of worms to support properly (versions mismatch, etc.),
and not used in Blender currently anyway.

5 years agoCycles: Don't silence unused macro, remove the macro instead
Sergey Sharybin [Wed, 17 Feb 2016 11:40:56 +0000 (12:40 +0100)]
Cycles: Don't silence unused macro, remove the macro instead

It's not really handy to silence something unused hoping for it'll be
used in the future. We can end up with quite some silencing then.

Also made this flag which i find rather useless to NOT cause -Werror
in Cycles code.

5 years agoCleanup: unused define warning
Campbell Barton [Wed, 17 Feb 2016 10:37:44 +0000 (21:37 +1100)]
Cleanup: unused define warning

5 years agoCleanup: OSL style
Campbell Barton [Wed, 17 Feb 2016 10:36:54 +0000 (21:36 +1100)]
Cleanup: OSL style

5 years agoFix T47447: Cycles crash when reaching texture limit with 3D textures
Sergey Sharybin [Wed, 17 Feb 2016 10:43:03 +0000 (11:43 +0100)]
Fix T47447: Cycles crash when reaching texture limit with 3D textures

5 years agoSome more tweaks to make linking to a shared FFmpeg-3.0 happy
Sergey Sharybin [Wed, 17 Feb 2016 08:25:26 +0000 (09:25 +0100)]
Some more tweaks to make linking to a shared FFmpeg-3.0 happy

5 years agoAdd missing glLineWidth call
Campbell Barton [Wed, 17 Feb 2016 09:35:47 +0000 (20:35 +1100)]
Add missing glLineWidth call

5 years agoUse high precision for scene scale
Campbell Barton [Wed, 17 Feb 2016 09:31:11 +0000 (20:31 +1100)]
Use high precision for scene scale

Without this its possible to accidentally truncate the value.

5 years agoFix T47411: Cycles portals luminance artifacts
Lukas Stockner [Tue, 16 Feb 2016 23:29:21 +0000 (00:29 +0100)]
Fix T47411: Cycles portals luminance artifacts

When using multiple portals, scene areas behind one of the portals were rendered darker than they should.
The reason for that is a pretty stupid mistake: Since portals are only used at positions that aren't behind them,
only portals that are used should be accounted for in the PDF calculation. That was actually the case, but the final
divide incorrectly divided by the total amount of portals, not the amount of visible ones.

Another issue with areas behind portals was the PDF evaluation function.
The new evaluation code is shorter, simpler and fixes this issue.

Also, the threshold for the distance check was increased to avoid artifacts where portals touch a surface.

5 years agoFix OpenCL kernel build errors after recent 3D texture changes.
Brecht Van Lommel [Wed, 17 Feb 2016 00:20:46 +0000 (01:20 +0100)]
Fix OpenCL kernel build errors after recent 3D texture changes.

5 years agoFix (harmless) assert in BVH spatial splits with Visual Studio debug builds.
Brecht Van Lommel [Tue, 16 Feb 2016 21:35:18 +0000 (22:35 +0100)]
Fix (harmless) assert in BVH spatial splits with Visual Studio debug builds.

5 years agoFix broken ghash performance gtest.
Bastien Montagne [Tue, 16 Feb 2016 21:18:49 +0000 (22:18 +0100)]
Fix broken ghash performance gtest.

Regression from rB2dba2b3d71d9781bce45. Do not understand why MSVC needs this convoluted
allocation (looks like broken compiler crap?), but at least let's do it correctly!

5 years agoCleanup: avoid -Wnarrowing warning
Campbell Barton [Tue, 16 Feb 2016 18:17:03 +0000 (05:17 +1100)]
Cleanup: avoid -Wnarrowing warning

5 years agoCycles: Remove back some tweaks for inline policies
Sergey Sharybin [Tue, 16 Feb 2016 16:25:58 +0000 (17:25 +0100)]
Cycles: Remove back some tweaks for inline policies

While kernel compiles fine, it seems generated binary is not really correct.

5 years agoMake game engine ready for FFmpeg-3.0 as well
Sergey Sharybin [Tue, 16 Feb 2016 15:29:47 +0000 (16:29 +0100)]
Make game engine ready for FFmpeg-3.0 as well

5 years agoCorrect label for simple deform modifier
Campbell Barton [Tue, 16 Feb 2016 14:55:40 +0000 (01:55 +1100)]
Correct label for simple deform modifier

5 years agoCycles: Some cleanup, should be no functional changes
Sergey Sharybin [Tue, 16 Feb 2016 14:32:26 +0000 (15:32 +0100)]
Cycles: Some cleanup, should be no functional changes

Addressing meaningful feedback from coverity.

5 years agoFix items in mode pie changing position by supporting more than 8 items in operator...
Julian Eisel [Tue, 16 Feb 2016 13:50:26 +0000 (14:50 +0100)]
Fix items in mode pie changing position by supporting more than 8 items in operator-enum pies

Now a 'More' item is added to the pie when there are too many items. It opens a sub-pie that contains the remaining items.
Note that this only touches operator-enum pies (like the object mode pie is), it is not a complete support for pies with more than 8 items. For this further design and code work would be needed, but this is too urgent to wait for that.

This is a better fix for T46973, should definitely be applied for 2.77 release.

Patch D1800 by myself with some edits by @campbellbarton, thanks!

5 years agoAdd missing line-width for curve widget
Campbell Barton [Tue, 16 Feb 2016 12:45:12 +0000 (23:45 +1100)]
Add missing line-width for curve widget

5 years agoFix T47427: Crash caused by OSL
Sergey Sharybin [Tue, 16 Feb 2016 12:37:05 +0000 (13:37 +0100)]
Fix T47427: Crash caused by OSL

5 years agoSet line-width for sequencer borders
Campbell Barton [Tue, 16 Feb 2016 12:23:40 +0000 (23:23 +1100)]
Set line-width for sequencer borders

5 years agoFix sample mis-match w/ OpenGL full-sample render
Campbell Barton [Tue, 16 Feb 2016 12:11:29 +0000 (23:11 +1100)]
Fix sample mis-match w/ OpenGL full-sample render

5 years agoCleanup: Typo.
Thomas Dinges [Tue, 16 Feb 2016 12:00:44 +0000 (13:00 +0100)]
Cleanup: Typo.

5 years agoAmend T47425 fix, use scene setting
Campbell Barton [Tue, 16 Feb 2016 11:29:54 +0000 (22:29 +1100)]
Amend T47425 fix, use scene setting

There are times when the preview background is important.

5 years agoCycles: Fix crash when trying to render after re-enabling the addon
Sergey Sharybin [Tue, 16 Feb 2016 11:47:12 +0000 (12:47 +0100)]
Cycles: Fix crash when trying to render after re-enabling the addon

5 years agoMake Blender compilable with FFmpeg-3.0
Sergey Sharybin [Tue, 16 Feb 2016 11:32:42 +0000 (12:32 +0100)]
Make Blender compilable with FFmpeg-3.0

While it's not something we'll be using for the official release,
it's nice to support new libraries at least on "it compiles" level,
so it's not that many frustrated developers around.

Nexyon, please have a look into Audaspace changes :)

5 years agoSequencer: GL preview, use transparent background
Campbell Barton [Tue, 16 Feb 2016 10:12:10 +0000 (21:12 +1100)]
Sequencer: GL preview, use transparent background

Fixes T47425, match 2.76 and non-preview behavior

5 years agoFix T47422: Factory startup loads too many fonts
Campbell Barton [Mon, 15 Feb 2016 20:50:40 +0000 (07:50 +1100)]
Fix T47422: Factory startup loads too many fonts

5 years agoCycles: Initial support of 3D textures for CUDA rendering
Sergey Sharybin [Mon, 15 Feb 2016 14:40:39 +0000 (15:40 +0100)]
Cycles: Initial support of 3D textures for CUDA rendering

Supports both smoke/fire and point density textures now.

Reduces number of textures available for sm_20 and sm_21, but you have
to compromise somewhere on such a limited hardware.

Currently limited to linear interpolation only, and decoupled ray
marching is not supported yet. Think those could be considered just a
further improvement.

Some quick example:

Code is minimal and we can fully consider it a fix for missing
support of 3D textures with CUDA.

Reviewers: lukasstockner97, brecht, juicyfruit, dingto

Reviewed By: brecht, juicyfruit, dingto

Subscribers: mib2berlin

Differential Revision:

5 years agoMake cycles standalone link again
Martijn Berger [Mon, 15 Feb 2016 20:00:25 +0000 (21:00 +0100)]
Make cycles standalone link again

5 years agoUsual i18n tweaks...
Bastien Montagne [Mon, 15 Feb 2016 19:09:10 +0000 (20:09 +0100)]
Usual i18n tweaks...

5 years agoCleanup: reorganize BKE ID tagging functions.
Bastien Montagne [Mon, 15 Feb 2016 18:35:35 +0000 (19:35 +0100)]
Cleanup: reorganize BKE ID tagging functions.

BKE_main_id_tag_/BKE_main_id_flag_ were horrible naming now that we split those
into flags (for presistent one) and tags (for runtime ones).

Got rid of previous 'tag_' functions behavior (those who were dedicated shortcuts
to set/clear LIB_TAG_DOIT), so now '_tag_' functions affect tags, and '_flag_'
functions affect flags.

5 years agoCleanup: rna_main_api: use macro to define tag() and is_updated rna functions.
Bastien Montagne [Mon, 15 Feb 2016 18:33:34 +0000 (19:33 +0100)]
Cleanup: rna_main_api: use macro to define tag() and is_updated rna functions.

5 years agoBuildbot: Support CUDA kernels cross-compile and enable it for 32bit platforms
Sergey Sharybin [Mon, 15 Feb 2016 18:12:46 +0000 (19:12 +0100)]
Buildbot: Support CUDA kernels cross-compile and enable it for 32bit platforms

5 years agoCycles: Tweaks for 32bit CUDA binaries
Sergey Sharybin [Mon, 15 Feb 2016 18:11:02 +0000 (19:11 +0100)]
Cycles: Tweaks for 32bit CUDA binaries

Tweak some inline policies. Not totally crazy yet, and in fact we now
have one less ifdef statement now.

5 years agoCycles: Use CUDA_64_BIT_DEVICE_CODE to detect which CUDA architecture to use
Sergey Sharybin [Mon, 15 Feb 2016 18:08:36 +0000 (19:08 +0100)]
Cycles: Use CUDA_64_BIT_DEVICE_CODE to detect which CUDA architecture to use

It is initialized based on size of pointer, which matches our previous
behavior, but using it in Cycles side allows to cross-compile CUDA

5 years agoCycles: Make guarded allocator compatible with MSVC2015
Sergey Sharybin [Mon, 15 Feb 2016 13:31:13 +0000 (18:31 +0500)]
Cycles: Make guarded allocator compatible with MSVC2015

5 years agoFix white balance, was doing unnecessary linear conversions
Campbell Barton [Mon, 15 Feb 2016 13:05:44 +0000 (00:05 +1100)]
Fix white balance, was doing unnecessary linear conversions

This made byte & float images behave differently, where other modifiers remain the same.
Also remove scene from the modifier (should have been passed as arg but no longer needed).

5 years agoCompositor: Re-consider the way how track speed works
Sergey Sharybin [Mon, 15 Feb 2016 11:43:14 +0000 (12:43 +0100)]
Compositor: Re-consider the way how track speed works

Based on an user feedback, previous implementation with providing
decoupled X and Y speeds didn't work in production at all: there
is no way to combine this speeds to an usable vector.

So now we're providing speed vector output instead, which provides
speed in an exactly the way Vector Blur node expects it to be:
first two components is a speed from the past, second two components
defines speed to the future.

Old behavior can be achieved by RGBA separating the speed output
and using first tow components.

Now this speed gives quite the same results as a speed pass, with
the only difference that track position speed uses "shutter" of
1 while pass uses shutter of 0.5 (and there's no way to affect on

5 years agoCycles: Fix guarded allocator issues on Windows
Sergey Sharybin [Mon, 15 Feb 2016 10:46:13 +0000 (11:46 +0100)]
Cycles: Fix guarded allocator issues on Windows

The issue was caused by static vectors allocating some internal
data using rebound element allocator for them, which was causing
access to a non-initialized statistics objects and was failing a
lot when switching Blender to a fully guarded allocation.

Additionally, we were not able to free that internal memory before
Blender exits, which was causing false-positive memory leak prints.

Now we're not using GuardedAllocator for those proxy containers.

Ideally this should be done as a GuardedAllocator::rebind, but
it didn't work for vector<bool> because it seems some internal
parts are converting bool to char32_t, which either makes it so
we can't use GuardedAllocator for those vectors or the compiler
get's confused when we're trying explicitly allow GuardedAllocator
for rebind<char32_t>.

This with current approach we should be fine for the release.

5 years agoCleanup: rst style
Campbell Barton [Mon, 15 Feb 2016 08:37:37 +0000 (19:37 +1100)]
Cleanup: rst style

5 years agoDocs: update tip on using the systems Python
Campbell Barton [Mon, 15 Feb 2016 08:35:54 +0000 (19:35 +1100)]
Docs: update tip on using the systems Python

5 years agoFix for Python executable not being found on Linux
Campbell Barton [Mon, 15 Feb 2016 08:01:28 +0000 (19:01 +1100)]
Fix for Python executable not being found on Linux

Python name could include ABI-flags after the version,
since checking for all combinations of ABI flags can expand into many possibilities,
take the executable name from the build system.

5 years agoCMake: install python as an executable
Campbell Barton [Mon, 15 Feb 2016 07:45:32 +0000 (18:45 +1100)]
CMake: install python as an executable

5 years agoUber-picky: Too small margin in tooltip
Julian Eisel [Sun, 14 Feb 2016 22:02:47 +0000 (23:02 +0100)]
Uber-picky: Too small margin in tooltip

Minor design detail, but kept bugging me :) Was removed in rBd57847ca5b9.

5 years agoCycles: Fix infinite recursion of md5 calculation on Windows
Sergey Sharybin [Sun, 14 Feb 2016 16:05:29 +0000 (21:05 +0500)]
Cycles: Fix infinite recursion of md5 calculation on Windows

Was caused by some safety things of making sure we've for NULL
terminator for the buffer when doing mbs<->wcs conversion, but
it turns out this simply confuses str::string and it can no
longer have proper .size(). Let's assume behavior of string
allocation is same all over the std, and we can avoid having
that extra null-terminator allocated.

5 years agoFix T47405: subsurf triangulation was producing incorrect normals after last fix.
Brecht Van Lommel [Sun, 14 Feb 2016 19:24:36 +0000 (20:24 +0100)]
Fix T47405: subsurf triangulation was producing incorrect normals after last fix.

5 years agoTweak doc section about overriding context - point out context.copy() usage!
Bastien Montagne [Sun, 14 Feb 2016 17:26:34 +0000 (18:26 +0100)]
Tweak doc section about overriding context - point out context.copy() usage!

5 years agoDocs: update doxy config
Campbell Barton [Sun, 14 Feb 2016 11:11:35 +0000 (22:11 +1100)]
Docs: update doxy config

5 years agoDocs: disable sharing docs within a group
Campbell Barton [Sun, 14 Feb 2016 11:08:57 +0000 (22:08 +1100)]
Docs: disable sharing docs within a group

This made using groups apply docstrings to undocumented functions in the group
(and give errors that the args didnt match).

5 years agoCleanup: braces
Sergey Sharybin [Sun, 14 Feb 2016 09:14:28 +0000 (10:14 +0100)]
Cleanup: braces

5 years agoCompositor: Cleanup, don't shortcut float values
Sergey Sharybin [Sun, 14 Feb 2016 09:12:45 +0000 (10:12 +0100)]
Compositor: Cleanup, don't shortcut float values

Use 0.0f instead of 0.f and so on.

5 years agoFix T47405: subsurf inconsistent triangulation in OpenGL compared to applied modifier...
Brecht Van Lommel [Sun, 14 Feb 2016 02:50:41 +0000 (03:50 +0100)]
Fix T47405: subsurf inconsistent triangulation in OpenGL compared to applied modifier and render.

5 years agoFix T45606: cycles multires tangent space normal map bake issues.
Brecht Van Lommel [Sun, 14 Feb 2016 00:54:09 +0000 (01:54 +0100)]
Fix T45606: cycles multires tangent space normal map bake issues.

5 years agoFix T47404: Bones get draw fat line in pose mode
Julian Eisel [Sat, 13 Feb 2016 22:16:04 +0000 (23:16 +0100)]
Fix T47404: Bones get draw fat line in pose mode

Removed this glLineWidth call in rBe8d7a0206e99, thought it wasn't needed. Really hope this was the last line width issue for now :/

5 years agoFix crash when cancelling cycles bake in some cases.
Brecht Van Lommel [Sat, 13 Feb 2016 20:07:55 +0000 (21:07 +0100)]
Fix crash when cancelling cycles bake in some cases.

5 years agoFix cmd+z for undo not working when editing text objects on OS X.
Brecht Van Lommel [Sat, 13 Feb 2016 20:07:32 +0000 (21:07 +0100)]
Fix cmd+z for undo not working when editing text objects on OS X.

5 years agoFix T47393: mouse wheel scroll no longer zooms with mighty mouse on OS X.
Brecht Van Lommel [Sat, 13 Feb 2016 12:13:59 +0000 (13:13 +0100)]
Fix T47393: mouse wheel scroll no longer zooms with mighty mouse on OS X.

Hopefully this is the last fix, using the method explained here:

5 years agoCleanup: Move Cycles sky model data to util.
Thomas Dinges [Sat, 13 Feb 2016 12:40:48 +0000 (13:40 +0100)]
Cleanup: Move Cycles sky model data to util.

5 years agoCycles: Remove meaningless expression
Sergey Sharybin [Sat, 13 Feb 2016 12:29:50 +0000 (13:29 +0100)]
Cycles: Remove meaningless expression

5 years agoCycles: Fix compilation error on Windows
Sergey Sharybin [Sat, 13 Feb 2016 12:28:51 +0000 (13:28 +0100)]
Cycles: Fix compilation error on Windows

5 years agoCycles: Fixes for Burley BSSRDF
Sergey Sharybin [Fri, 12 Feb 2016 10:42:33 +0000 (11:42 +0100)]
Cycles: Fixes for Burley BSSRDF

There are several fixes in here, which hopefully will make the shader
working correct without too much magic in there.

First of all, this commit brings BURLEY_TRUNCATE down from 30 to 16
which reduces noise a lot. It's still higher than original truncate
from Brecht, but this reduces PDF value at a cutoff distance by an
order of magnitude (now it's 0.008387, previously it was 0.063521
for the albedo of 0.8 and radius 1.0). This should converge to a
proper result faster and don't have artifacts.

This kind of reverts fix for T47356, but after additional thinking
came to conclusion Burley is not being totally smooth, it is about
giving less waxy results which it's kind of doing in the file.

Second of all, this commit fixes burley_eval() to use normalized
diffusion reflectance. This matches the way we calculate CDF and
solves numeric instability close to 0, making PDF profile looking
closer to other SSS profiles:

Reviewers: brecht

Reviewed By: brecht

Differential Revision:

5 years agoCleanup: Remove some OIIO code for versions prior to 1.5.
Thomas Dinges [Sat, 13 Feb 2016 12:21:47 +0000 (13:21 +0100)]
Cleanup: Remove some OIIO code for versions prior to 1.5.

5 years agoCycles: Fix crash caused by the guarded allocation commit
Sergey Sharybin [Sat, 13 Feb 2016 11:35:33 +0000 (12:35 +0100)]
Cycles: Fix crash caused by the guarded allocation commit

C++ requires specific alignment of the allocations which was not an
issue when using GCC but uncovered issue when using Clang on OSX.
Perhaps some versions of Clang might show errors on other platforms
as well.

5 years agoDocs: remove bmesh py api warning
Campbell Barton [Sat, 13 Feb 2016 09:43:19 +0000 (20:43 +1100)]
Docs: remove bmesh py api warning

5 years agoSculpt: avoid double-hash for pbvh building
Campbell Barton [Sat, 13 Feb 2016 06:45:41 +0000 (17:45 +1100)]
Sculpt: avoid double-hash for pbvh building

Gives minor speedup entering sculpt mode and with undo.

5 years agoOptimize sculpt undo, avoid redundant updates
Campbell Barton [Sat, 13 Feb 2016 06:58:44 +0000 (17:58 +1100)]
Optimize sculpt undo, avoid redundant updates

On undo, sculpting regular meshes would update _all_ GPU VBO's.
Avoiding the update gives noticeably faster undo.

This is also a fix/workaround for strange behavior with NVidia's driver (T47232),
Where locking and unlocking all buffers for updating
slows down redraw speed permanently after the first undo.

However the problem isn't avoided entirely since a single brush stroke might modify most of the mesh.

5 years agoBLI_bitmap: add flip macro
Campbell Barton [Sat, 13 Feb 2016 06:47:38 +0000 (17:47 +1100)]
BLI_bitmap: add flip macro

5 years agoSet alpha clip to lower value
Campbell Barton [Fri, 12 Feb 2016 15:23:41 +0000 (02:23 +1100)]
Set alpha clip to lower value

Workaround for T46962 still works

5 years agoCycles: Fix compilation error with MinGW
Sergey Sharybin [Fri, 12 Feb 2016 19:21:13 +0000 (20:21 +0100)]
Cycles: Fix compilation error with MinGW

Was using some C++0 which we don't officially enabled yet.

5 years agoFix/workaround compilation error in dds
Sergey Sharybin [Fri, 12 Feb 2016 19:14:39 +0000 (20:14 +0100)]
Fix/workaround compilation error in dds

CLAMP was conflicting between Common.h and BLI_utildefines.h

Ideally we would use macro from BLI, but it's a bit involved change
to make it working with C++, will keep it for later.

5 years agoFix error in bvhtree_walk_dfs_recursive
Germano Cavalcante [Fri, 12 Feb 2016 14:50:08 +0000 (01:50 +1100)]
Fix error in bvhtree_walk_dfs_recursive

5 years agoCycles: Always use guarded allocator of vectors
Sergey Sharybin [Sat, 6 Feb 2016 22:40:41 +0000 (03:40 +0500)]
Cycles: Always use guarded allocator of vectors

We don't have vectors re-allocation happening multiple times from inside
a loop anymore, so we can safely switch to a memory guarded allocator for
vectors and keep track on the memory usage at various stages of rendering.

Additionally, when building from inside Blender repository, Cycles will
use Blender's guarded allocator, so actual memory usage will be displayed
in the Space Info header.

There are couple of tricky aspects of the patch:

- TaskScheduler::exit() now explicitly frees memory used by `threads`.
  This is needed because `threads` is a static member which destructor
  isn't getting called on Blender's exit which caused memory leak print
  to happen.

  This shouldn't give any measurable speed issues, reallocation of that
  vector is only one of fewzillion other allocations happening during

- Use regular guarded malloc (not aligned one). No idea why it was
  made to be aligned in the first place. Perhaps some corner case tests
  or so. Vector was never expected to be aligned anyway. Let's see if
  we'll have actual bugs with this.

Reviewers: dingto, lukasstockner97, juicyfruit, brecht

Reviewed By: brecht

Differential Revision:

5 years agoCycles: Make Blender importer more forward compatible
Sergey Sharybin [Wed, 10 Feb 2016 14:09:45 +0000 (15:09 +0100)]
Cycles: Make Blender importer more forward compatible

Basically the idea is to make code robust against extending
enum options in the future by falling back to a known safe
default setting when RNA is set to something unknown.

While this approach solves the issues similar to T47377,
but it wouldn't really help when/if any of the RNA values
gets ever deprecated and removed. There'll be no simple
solution to that apart from defining explicit mapping from
RNA value to Cycles one.

Another part which isn't so great actually is that we now
have to have some enum guards and give some explicit values
to the enum items, but we can live with that perhaps.

Reviewers: dingto, juicyfruit, lukasstockner97, brecht

Reviewed By: brecht

Differential Revision:

5 years agoFix: OSX - Cmd + A doesn't work for Font objects editing
Dalai Felinto [Fri, 12 Feb 2016 13:54:47 +0000 (11:54 -0200)]
Fix: OSX - Cmd + A doesn't work for Font objects editing

Since Cmd + A works elsewhere, it should work during font objects editing as well.

There is still a mysterious issue with Cmd + Z not working for UNDO the edited
text in OSX (probably GHOST related).

5 years agoIntegrate font objects copy/paste with system clipboard
Dalai Felinto [Fri, 12 Feb 2016 12:57:58 +0000 (10:57 -0200)]
Integrate font objects copy/paste with system clipboard

When pasting text, the style (bold, material, ...) is maintained, if it was originally copied from Blender.

This fixes the issue of missing copy/paste options for font objects
(they were present back in Blender 2.49)

Reviewers: Severin, campbellbarton, brecht

5 years agoFix crash in bvhtree.FromPolygons
Campbell Barton [Fri, 12 Feb 2016 08:12:58 +0000 (19:12 +1100)]
Fix crash in bvhtree.FromPolygons

5 years agoFix T47379: crash appending materials with node trees.
Brecht Van Lommel [Thu, 11 Feb 2016 21:32:11 +0000 (22:32 +0100)]
Fix T47379: crash appending materials with node trees.

5 years agoFix more cases where gpencil thickness controls line thickness of 3D view elements
Julian Eisel [Thu, 11 Feb 2016 19:54:24 +0000 (20:54 +0100)]
Fix more cases where gpencil thickness controls line thickness of 3D view elements

We now simple set glLineWidth to 1 once before drawing objects. This way we don't have to do it all over.

Fixes T47396.

5 years agoFix T47314: Misaligned DataBlock Previews for groups with custom center coordinates
Bastien Montagne [Thu, 11 Feb 2016 16:32:21 +0000 (17:32 +0100)]
Fix T47314: Misaligned DataBlock Previews for groups with custom center coordinates

Now take into account `dupli_offset` of groups.

Also fixed another issue related to objects renderability, previous code was giving
bad results due to added temp objects to generate previews (camera, lamp...).

5 years agoFix T47387: Cycles Point Density Render Issues
Sergey Sharybin [Thu, 11 Feb 2016 14:48:29 +0000 (15:48 +0100)]
Fix T47387: Cycles Point Density Render Issues

5 years agoFix T47378: Separate images popup UI does nothing
Campbell Barton [Thu, 11 Feb 2016 13:42:37 +0000 (00:42 +1100)]
Fix T47378: Separate images popup UI does nothing

Use confirm popup instead of redo popup

5 years agoCycles: Remove some ifdefs for OSL < 1.7.1.
Thomas Dinges [Thu, 11 Feb 2016 12:57:39 +0000 (13:57 +0100)]
Cycles: Remove some ifdefs for OSL < 1.7.1.

That means that we now only support OSL 1.7.1 or newer. Please update libs or re-run

5 years agoFix for cursor not being reset on file load
Campbell Barton [Thu, 11 Feb 2016 12:47:17 +0000 (23:47 +1100)]
Fix for cursor not being reset on file load

caused by 6081f6c3

5 years agoCycles: Fix typo in network device
Sergey Sharybin [Thu, 11 Feb 2016 12:05:55 +0000 (13:05 +0100)]
Cycles: Fix typo in network device

Spotted by jesterKing, thanks!

5 years agoinstall_deps: fix boost installation on Fedora/Suze & co.
Bastien Montagne [Thu, 11 Feb 2016 09:19:05 +0000 (10:19 +0100)]
install_deps: fix boost installation on Fedora/Suze & co.

Was only trying to install $BOOST_VERSION or higher boost - being fairly recent
this always failed. We can live with older versions too, so now using
*BOOST_VERSION_MIN as with other distros.