blender.git
2 years agoRemove legacy code used for sequencer preview image
Dalai Felinto [Thu, 1 Mar 2018 21:22:29 +0000 (18:22 -0300)]
Remove legacy code used for sequencer preview image

This (now removed code) calls gl_Vertex deprecated draws. It was doing
background drawing (color gradient, flat background) which is not used
by any engine.

2 years agoMore clean of macros with an _END and no _BEGIN
Dalai Felinto [Thu, 1 Mar 2018 15:21:56 +0000 (12:21 -0300)]
More clean of macros with an _END and no _BEGIN

Follow up on 7aed2de798b1e5f8663e.

2 years agoFix assert on exit edit-mode
Campbell Barton [Thu, 1 Mar 2018 11:36:40 +0000 (22:36 +1100)]
Fix assert on exit edit-mode

2 years ago3D View: minor selection tweaks
Campbell Barton [Thu, 1 Mar 2018 11:01:46 +0000 (22:01 +1100)]
3D View: minor selection tweaks

- don't initialize the GL context when cache is used.
- don't run second pass when the first one has no hits.

2 years agoMerge branch 'master' into blender2.8
Kévin Dietrich [Thu, 1 Mar 2018 10:56:01 +0000 (11:56 +0100)]
Merge branch 'master' into blender2.8

2 years agoCycles volume: fast empty space optimization by generating a tight mesh
Kévin Dietrich [Thu, 1 Mar 2018 10:54:01 +0000 (11:54 +0100)]
Cycles volume: fast empty space optimization by generating a tight mesh
around the volume.

We generate a tight mesh around the active voxels of the volume in order
to effectively skip empty space, and start volume ray marching as close
to interesting volume data as possible. See code comments for details on
how the mesh generation algorithm works.

This gives up to 2x speedups in some scenes.

Reviewed by: brecht, dingto

Reviewers: #cycles

Subscribers: lvxejay, jtheninja, brecht

Differential Revision: https://developer.blender.org/D3038

2 years agoWorkSpace: fix mode exiting w/ multi-window
Campbell Barton [Thu, 1 Mar 2018 10:07:09 +0000 (21:07 +1100)]
WorkSpace: fix mode exiting w/ multi-window

Activating an object exited modes for all other objects in the layer.
Now check these objects aren't active in other windows first.

2 years agoCleanup: macro's w/ an _END need a matching _BEGIN
Campbell Barton [Thu, 1 Mar 2018 08:00:54 +0000 (19:00 +1100)]
Cleanup: macro's w/ an _END need a matching _BEGIN

Convention from 2.7x, since some looping macros don't need an '_END',
it avoids confusion to keep this.

2 years agoMissing assignment in object mode sync
Campbell Barton [Thu, 1 Mar 2018 07:34:16 +0000 (18:34 +1100)]
Missing assignment in object mode sync

Own error in recent change (1aeb9294f4a)

2 years agoDRW: add ability to lock states from changing
Campbell Barton [Thu, 1 Mar 2018 06:14:35 +0000 (17:14 +1100)]
DRW: add ability to lock states from changing

Selection code relies on being able to set the depth functions
however passes have their own depth settings.

Add DRW_state_lock to ignore passes settings for particular flags.

This fixes occlusion queries cycling through objects under the cursor.

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 1 Mar 2018 05:48:13 +0000 (16:48 +1100)]
Merge branch 'master' into blender2.8

2 years agoGPU_select: remove unused finalize function
Campbell Barton [Thu, 1 Mar 2018 05:41:50 +0000 (16:41 +1100)]
GPU_select: remove unused finalize function

Changed 2.8x code so this is no longer needed.

2 years agoFix T54190: Occlusion query select failed
Campbell Barton [Thu, 1 Mar 2018 05:31:36 +0000 (16:31 +1100)]
Fix T54190: Occlusion query select failed

By default select wasn't picking the nearest object,
this could have been fixed by not clearing the depth buffer,
but calling GPU_select_(begin/end) without the binded frame-buffer
caused issues for depth-picking. So move GPU_select begin/end to a
callback.

This also has the advantage that only needs to populate the engines once
to draw two passes.

Note that cycling through objects fails with occlusion queries still,
will fix shortly.

2 years agoDRW: Initial implementation of Frustum culling.
Clément Foucault [Thu, 1 Mar 2018 02:52:54 +0000 (03:52 +0100)]
DRW: Initial implementation of Frustum culling.

This is very efficient and add a pretty low overhead (0.1ms of drawing time for 10K objects passing through all tests, on my i3-4100M).
The like the rest of the DRWCallState, test is "cached" until the view matrices changes.

2 years agoClay: Make use of optimized DRW_shgroup_call_object_add.
Clément Foucault [Thu, 1 Mar 2018 02:41:09 +0000 (03:41 +0100)]
Clay: Make use of optimized DRW_shgroup_call_object_add.

2 years agoDRW: DRWCallState: Fix matflag being overwritten by other engines.
Clément Foucault [Thu, 1 Mar 2018 02:40:14 +0000 (03:40 +0100)]
DRW: DRWCallState: Fix matflag being overwritten by other engines.

2 years agoDRW: Codestyle: Remove DRWCallHeader and DRWCallGenerate
Clément Foucault [Wed, 28 Feb 2018 16:11:54 +0000 (17:11 +0100)]
DRW: Codestyle: Remove DRWCallHeader and DRWCallGenerate

2 years agoDRW: Reuse DRWCallState for the same object.
Clément Foucault [Wed, 28 Feb 2018 15:23:33 +0000 (16:23 +0100)]
DRW: Reuse DRWCallState for the same object.

This enables caching the matrices and reducing redraw time of the same object which is particulary important for eevee.

2 years agoDRW: Merge calls_generate pool with calls pool & add DRWCallState pool.
Clément Foucault [Wed, 28 Feb 2018 03:04:40 +0000 (04:04 +0100)]
DRW: Merge calls_generate pool with calls pool & add DRWCallState pool.

2 years agoDRW: Fix warnings in Release Build.
Clément Foucault [Wed, 28 Feb 2018 02:17:13 +0000 (03:17 +0100)]
DRW: Fix warnings in Release Build.

2 years agoWorkSpace: show/hode opt-out support for addons
Campbell Barton [Thu, 1 Mar 2018 00:20:12 +0000 (11:20 +1100)]
WorkSpace: show/hode opt-out support for addons

In some cases it doesn't make sense for add-ons to be listed for hiding.
Especially for import/export which use minimal UI space.

This adds `bl_info["use_owner"]` to add-ons,
currently defaulting to True for all non Import-Export add-ons.

2 years agoCycles: don't count volume boundaries as transparent bounces.
Brecht Van Lommel [Wed, 28 Feb 2018 22:00:46 +0000 (23:00 +0100)]
Cycles: don't count volume boundaries as transparent bounces.

This is more important now that we will have tigther volume bounds that
we hit multiple times. It also avoids some noise due to RR previously
affecting these surfaces, which shouldn't have been the case and should
eventually be fixed for transparent BSDFs as well.

For non-volume scenes I found no performance impact on NVIDIA or AMD.
For volume scenes the noise decrease and fixed artifacts are worth the
little extra render time, when there is any.

2 years agoMerge branch 'master' into blender2.8
Brecht Van Lommel [Wed, 28 Feb 2018 20:33:40 +0000 (21:33 +0100)]
Merge branch 'master' into blender2.8

2 years agoCycles: change principled BSDF default distribution and SSS.
Brecht Van Lommel [Wed, 28 Feb 2018 05:33:07 +0000 (06:33 +0100)]
Cycles: change principled BSDF default distribution and SSS.

* Use a subsurface color equal to the base color, and give the subsurface
  radius skin like values by default. This is how the parameter should
  typically be used.
* Use GGX by default, multiscatter GGX is still quite noisy and has some
  fireflies so let's keep it optional for now.

2 years agoCycles: principled absorption color now has more effect at lower values.
Brecht Van Lommel [Wed, 28 Feb 2018 03:36:55 +0000 (04:36 +0100)]
Cycles: principled absorption color now has more effect at lower values.

2 years agoPoint cache: Pass EvaluationContext for all the related functions
Dalai Felinto [Wed, 28 Feb 2018 16:54:00 +0000 (13:54 -0300)]
Point cache: Pass EvaluationContext for all the related functions

Now the only missing bit seems to be in Cycles to pass depsgraph to
builtin_image_float_pixels().

Ideally we could get evaluation context instead of using depsgraph + settings.
But for the other rna EvaluationContext functions this is how we are doing.

Reviewers: sergey, brecht

Differential Revision: https://developer.blender.org/D3087

2 years agomerge from master (needed to fix collada headerfiles which have been modified in...
Gaia Clary [Wed, 28 Feb 2018 16:29:56 +0000 (17:29 +0100)]
merge from master (needed to fix collada headerfiles which have been modified in master and in blender2.8 slightly different)

2 years agoFix T52685, part II: Add option to strip numbers from flipped bone names again.
Bastien Montagne [Wed, 28 Feb 2018 16:13:31 +0000 (17:13 +0100)]
Fix T52685, part II: Add option to strip numbers from flipped bone names again.

While doing so with Bone_R.001, Bone_R.003, Bone_R.003 etc. is doomed to
issues, doing that on duplicates of actually correctly named bones can
be handy, and safe.

So adding back as an option (was removed in rB702bc5ba26d5).

2 years agocollada: EvaluationContext is now feeded into the class instances of AnimationExporte...
Gaia Clary [Wed, 28 Feb 2018 16:10:13 +0000 (17:10 +0100)]
collada: EvaluationContext is now feeded into the class instances of AnimationExporter and DocumentExporter on creation. Also skipped the const qualifier for now because BKE_scene_graph_update_for_newframe() needs it to be not const

2 years agoFix T52685: Flip names for bones its not working.
Bastien Montagne [Wed, 28 Feb 2018 15:53:14 +0000 (16:53 +0100)]
Fix T52685: Flip names for bones its not working.

Flip names operator changed in rB702bc5ba26d5, to some sensible
behavior. But this breaks common workflow of 'duplicate part of the
bones, scale-mirror new ones, and flip their names'.

So now, instead of doing this in two steps, trying to guesstimate which
bones should get which name, just add option to flip names to duplicate
operator itself. Simpler, safer, and much, much more consitent behavior
and predictable results.

2 years agoRadial control: Skip operator properties from being saved
Sergey Sharybin [Wed, 28 Feb 2018 15:14:35 +0000 (16:14 +0100)]
Radial control: Skip operator properties from being saved

This solves issue with tweaking brush size when interleaving particle edit
and texture paint modes. The issue was caused by texture paing setting more
operator properties then it's done for particle edit mode, which made window
manager to use saved proeprties for the "missing" ones.

Don't see any reason why we would want to save any of those properties.

This is a regression since rB83b60dac57a1.

2 years agoCollada: Make EvaluationContext const as its only used for reading here
Gaia Clary [Wed, 28 Feb 2018 15:05:18 +0000 (16:05 +0100)]
Collada: Make EvaluationContext const as its only used for reading here

2 years agocollada: call from operator to Collada exporter/importer now uses structures instead...
Gaia Clary [Wed, 28 Feb 2018 14:59:49 +0000 (15:59 +0100)]
collada: call from operator to Collada exporter/importer now uses structures instead of passing many parameters

2 years agoCollada: Moved structure definitions for export settings to the exportSettings.h...
Gaia Clary [Wed, 28 Feb 2018 14:53:00 +0000 (15:53 +0100)]
Collada: Moved structure definitions for export settings to the exportSettings.h Also make typedefs for import/export structures.

2 years agoWorkSpace: UI filtering for add-ons
Campbell Barton [Wed, 28 Feb 2018 14:26:02 +0000 (01:26 +1100)]
WorkSpace: UI filtering for add-ons

Allows for each workspace to have it's own add-ons on display.

Filtering for: Panels, Menus, Keymaps & Manipulators.
Automatically applies to add-ons at the moment.

Access from workspace, toggled off by default
once enabled, add-ons can be white-listed.

See D3076

2 years agoDepsgraph: Update tool settings when updating CoW scene
Sergey Sharybin [Wed, 28 Feb 2018 13:57:49 +0000 (14:57 +0100)]
Depsgraph: Update tool settings when updating CoW scene

2 years agoMerge branch 'master' into blender2.8
Sergey Sharybin [Wed, 28 Feb 2018 13:54:51 +0000 (14:54 +0100)]
Merge branch 'master' into blender2.8

2 years agoDe-duplicate tool settings copy and make tool settings freeing reusable
Sergey Sharybin [Wed, 28 Feb 2018 13:52:17 +0000 (14:52 +0100)]
De-duplicate tool settings copy and make tool settings freeing reusable

2 years agoNull pointer check exiting sculpt mode
Campbell Barton [Wed, 28 Feb 2018 12:23:48 +0000 (23:23 +1100)]
Null pointer check exiting sculpt mode

Needed for 2.8x, harmless here.

2 years agoNull pointer check exiting sculpt mode
Campbell Barton [Wed, 28 Feb 2018 12:23:48 +0000 (23:23 +1100)]
Null pointer check exiting sculpt mode

Needed for 2.8x, harmless here.

2 years agoWorkSpace: use existing objects mode on select
Campbell Barton [Wed, 28 Feb 2018 12:09:33 +0000 (23:09 +1100)]
WorkSpace: use existing objects mode on select

When selecting an object which is already visible in another window
use the mode from that workspace without performing any mode switching.

2 years agoWorkspace: sync object-modes to other workspaces
Campbell Barton [Wed, 28 Feb 2018 05:27:55 +0000 (16:27 +1100)]
Workspace: sync object-modes to other workspaces

When changing the mode of an object, apply this to all other
workspaces that share the same active object.

Also use copy the object-mode when duplicating workspaces.

2 years agoMerge branch 'master' into blender2.8
Brecht Van Lommel [Wed, 28 Feb 2018 02:11:17 +0000 (03:11 +0100)]
Merge branch 'master' into blender2.8

2 years agoCode cleanup: fix a few harmless warnings.
Brecht Van Lommel [Wed, 28 Feb 2018 01:36:45 +0000 (02:36 +0100)]
Code cleanup: fix a few harmless warnings.

2 years agoCode cleanup: make viewport free simpler and consistent with GPU module.
Brecht Van Lommel [Wed, 28 Feb 2018 01:29:55 +0000 (02:29 +0100)]
Code cleanup: make viewport free simpler and consistent with GPU module.

2 years agoUpdate CUEW to latest version
Brecht Van Lommel [Wed, 28 Feb 2018 02:00:29 +0000 (03:00 +0100)]
Update CUEW to latest version

Some Linux distribution have only libcuda.so.1, not libcuda.so.

2 years agoCode cleanup: fix a few compiler warnings.
Brecht Van Lommel [Wed, 28 Feb 2018 01:51:45 +0000 (02:51 +0100)]
Code cleanup: fix a few compiler warnings.

2 years agoDRW: Fix broken particle drawing.
Clément Foucault [Wed, 28 Feb 2018 01:24:21 +0000 (02:24 +0100)]
DRW: Fix broken particle drawing.

Was caused by GPU_SELECT_LOAD_IF_PICKSEL_LIST not iterating at all if shgroup->instance_count == 0.

2 years agoObject Mode: Fix incorrect lightprobe wire color when in edit mode.
Clément Foucault [Wed, 28 Feb 2018 01:10:38 +0000 (02:10 +0100)]
Object Mode: Fix incorrect lightprobe wire color when in edit mode.

2 years agoCleanup: comment for depth picking code, const args
Campbell Barton [Wed, 28 Feb 2018 00:46:02 +0000 (11:46 +1100)]
Cleanup: comment for depth picking code, const args

Note that setting `glDepthFunc` isn't important,
since 2.8 branch changes this value it might seem like an error
however it's harmless in this case - so better make note of this.

2 years agoDRW: Disable depth test when drawing statistics
Clément Foucault [Wed, 28 Feb 2018 00:39:12 +0000 (01:39 +0100)]
DRW: Disable depth test when drawing statistics

2 years agoCleanup: use 'uint' for GPU_select
Campbell Barton [Wed, 28 Feb 2018 00:37:39 +0000 (11:37 +1100)]
Cleanup: use 'uint' for GPU_select

2 years agoDRW: Fix negative scale object drawing.
Clément Foucault [Wed, 28 Feb 2018 00:29:16 +0000 (01:29 +0100)]
DRW: Fix negative scale object drawing.

2 years agoDRW: Refactor & Split draw_manager.c into multiple files.
Clément Foucault [Wed, 28 Feb 2018 00:16:23 +0000 (01:16 +0100)]
DRW: Refactor & Split draw_manager.c into multiple files.

Refactor include:
- Removal of DRWInterface. (was useless)
- Split DRWCallHeader into a new struct DRWCallState that will be reused in the future.
- Use BLI_link_utils for APPEND/PREPEND.
- Creation of the new DRWManager struct type. This will enable us to create more than one manager in the future.
- Removal of some dead code.

2 years agoBLI_link_utils: Add BLI_LINKS_APPEND(list, link)
Clément Foucault [Tue, 27 Feb 2018 22:30:28 +0000 (23:30 +0100)]
BLI_link_utils: Add BLI_LINKS_APPEND(list, link)

2 years agoMerge branch 'master' into blender2.8
Brecht Van Lommel [Tue, 27 Feb 2018 23:08:16 +0000 (00:08 +0100)]
Merge branch 'master' into blender2.8

2 years agoCleanup: macros using _END, should have a _BEGIN
Campbell Barton [Tue, 27 Feb 2018 23:05:38 +0000 (10:05 +1100)]
Cleanup: macros using _END, should have a _BEGIN

Also use var names not likely to be shadowed.

2 years agoCode cleanup: refactor Cycles image metadata retrieval to use a struct.
Brecht Van Lommel [Tue, 27 Feb 2018 21:16:45 +0000 (22:16 +0100)]
Code cleanup: refactor Cycles image metadata retrieval to use a struct.

2 years agoCycles point density texture
Dalai Felinto [Tue, 27 Feb 2018 21:20:55 +0000 (18:20 -0300)]
Cycles point density texture

This still does not make point density to work in Cycles, but at least it pass
the depsgraph down the line.

Note this was working fine before the depsgraph/render refactor to pass
evaluated depsgraph to the engines.

2 years agoFix Cycles to mostly work with render layer / depsgraph changes.
Brecht Van Lommel [Mon, 26 Feb 2018 15:46:48 +0000 (16:46 +0100)]
Fix Cycles to mostly work with render layer / depsgraph changes.

Point density texture and motion blur are still broken, and many more changes
are needed in general to used evaluated datablocks.

2 years agoRefactor depsgraph/render logic to serve evaluated depsgraph to engines
Dalai Felinto [Tue, 20 Feb 2018 15:55:02 +0000 (12:55 -0300)]
Refactor depsgraph/render logic to serve evaluated depsgraph to engines

User notes
----------
Compositing, rendering of multi-layers in Eevee should be fully working now.

Development notes
-----------------
Up until now we were still using the same depsgraph for rendering and viewport
evaluation. And we had to go out of our ways to be sure the depsgraphs were
updated.

Now we iterate over the (to be rendered) view layers and create a depsgraph to
each one, fully evaluated and call the render engines (Cycles, Eevee, ...) with
this viewlayer/depsgraph/evaluation context.

At this time we are not handling data persistency, Depsgraph is created from
scratch prior to rendering each frame.  So I got rid of most of the partial
update calls we had during the render pipeline.

Cycles: Brecht Van Lommel did a patch to tackle some of the required Cycles
changes but this commit mark these changes as TODOs. Basically Cycles needs to
render one layer at a time.

Reviewers: sergey, brecht

Differential Revision: https://developer.blender.org/D3073

2 years agoDepsgraph: Expose query to get view layer to RNA
Dalai Felinto [Fri, 23 Feb 2018 12:22:35 +0000 (09:22 -0300)]
Depsgraph: Expose query to get view layer to RNA

2 years agoMerge branch 'master' into blender2.8
Gaia Clary [Tue, 27 Feb 2018 20:06:29 +0000 (21:06 +0100)]
Merge branch 'master' into blender2.8

2 years agoCollada: Added tests for Animation export
Gaia Clary [Tue, 27 Feb 2018 19:41:34 +0000 (20:41 +0100)]
Collada: Added tests for Animation export

2 years agomerge Collada changtes from master
Gaia Clary [Tue, 27 Feb 2018 16:53:53 +0000 (17:53 +0100)]
merge Collada changtes from master

2 years agoMerge commit '6aadd61bd892d3908ed8151' into blender2.8
Dalai Felinto [Tue, 27 Feb 2018 16:48:26 +0000 (13:48 -0300)]
Merge commit '6aadd61bd892d3908ed8151' into blender2.8

2 years agoCollada: commented out code was previously left over with an unresolved conflict...
Gaia Clary [Tue, 27 Feb 2018 16:12:53 +0000 (17:12 +0100)]
Collada: commented out code was previously left over with an unresolved conflict in it. Deleting as its no longer needed

2 years agoCollada: Remove obsolete code
Gaia Clary [Tue, 27 Feb 2018 16:08:40 +0000 (17:08 +0100)]
Collada: Remove obsolete code

2 years agofix: Collada Matrixdata Importer tried to fix rotations where nothing was to fix...
Gaia Clary [Tue, 27 Feb 2018 16:02:37 +0000 (17:02 +0100)]
fix: Collada Matrixdata Importer tried to fix rotations where nothing was to fix. The matrixdata import is now only doing a matrix decompose and then pplies the decomposed values to 3 trans-, 3 scale- and 4 rot-curves)

2 years agoCollada: removed unnecessary dup[licate matrix conversion in matrix data exporter
Gaia Clary [Tue, 27 Feb 2018 15:55:18 +0000 (16:55 +0100)]
Collada: removed unnecessary dup[licate matrix conversion in matrix data exporter

2 years agoCollada exporter: Replaced numbers 0/1 by boolean values fasle/true for better reading
Gaia Clary [Tue, 27 Feb 2018 15:52:51 +0000 (16:52 +0100)]
Collada exporter: Replaced numbers 0/1 by boolean values fasle/true for better reading

2 years agoCollada Shape key export can create huge datafiles and may need some optimization...
Gaia Clary [Tue, 27 Feb 2018 15:51:52 +0000 (16:51 +0100)]
Collada Shape key export can create huge datafiles and may need some optimization. Disable export by default, user can still enable on demand

2 years agoCollada enable Export of animation data by default
Gaia Clary [Tue, 27 Feb 2018 15:48:41 +0000 (16:48 +0100)]
Collada enable Export of animation data by default

2 years agoDRW: Fix multithreading conflict with material previews.
Clément Foucault [Tue, 27 Feb 2018 14:50:34 +0000 (15:50 +0100)]
DRW: Fix multithreading conflict with material previews.

2 years agoDRW: Refactor / Cleanup Builtin uniforms.
Clément Foucault [Mon, 26 Feb 2018 22:39:09 +0000 (23:39 +0100)]
DRW: Refactor / Cleanup Builtin uniforms.

-Make the view and object dependant matrices calculation isolated and separated, avoiding non-needed calculation.
-Adding a per drawcall matrix cache so that we can precompute these in advance in the future.
-Replaced integer uniform location of only view dependant builtins by DRWUniforms that are only updated once per shgroup.

2 years agoDRW: Do not recreate the common uniform buffer every frame.
Clément Foucault [Mon, 26 Feb 2018 20:12:19 +0000 (21:12 +0100)]
DRW: Do not recreate the common uniform buffer every frame.

2 years agoGWN: Query builtin uniform at shader creation.
Clément Foucault [Mon, 26 Feb 2018 19:50:11 +0000 (20:50 +0100)]
GWN: Query builtin uniform at shader creation.

This avoids having non null entries in shaderface->builtin_uniforms and a redundant check.

2 years agoFix T54179: Assert changing layers in 2nd window
Campbell Barton [Tue, 27 Feb 2018 13:07:36 +0000 (00:07 +1100)]
Fix T54179: Assert changing layers in 2nd window

2 years agoEevee preview materials
Dalai Felinto [Tue, 27 Feb 2018 12:21:54 +0000 (09:21 -0300)]
Eevee preview materials

Now that Eevee has support for offline rendering (F12) we can use it for
the Material previews.

Note: This makes the duplicated UI issue one panel worse. That happens when
Cycles if your scene engine, and Eevee is your workspace engine.

2 years agoCleanup: remove unused duplicate code
Campbell Barton [Tue, 27 Feb 2018 11:02:18 +0000 (22:02 +1100)]
Cleanup: remove unused duplicate code

2 years agoMSVC 2013 Compile Fix/Workaround for "static thread_local" vars
Joshua Leung [Thu, 22 Feb 2018 06:22:50 +0000 (19:22 +1300)]
MSVC 2013 Compile Fix/Workaround for "static thread_local" vars

Apparently MSVC 2013 has trouble with stuff that's been declared
"static thread_local" (and/or maybe even the "thread_local" keyword).

https://stackoverflow.com/questions/29399494/what-is-the-current-state-of-support-for-thread-local-across-platforms

2 years agoMerge branch 'master' into blender2.8
Sergey Sharybin [Tue, 27 Feb 2018 10:16:43 +0000 (11:16 +0100)]
Merge branch 'master' into blender2.8

2 years agoCollada: Remove unused vector of flaot[4][4] values
Sergey Sharybin [Tue, 27 Feb 2018 10:14:55 +0000 (11:14 +0100)]
Collada: Remove unused vector of flaot[4][4] values

Was in fact causing issues on macOS, something to do with
a destructor.

2 years agoCollada: Use floating point version of abs()
Sergey Sharybin [Tue, 27 Feb 2018 10:14:17 +0000 (11:14 +0100)]
Collada: Use floating point version of abs()

Avoids implicit cast of float to int.

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Tue, 27 Feb 2018 09:45:20 +0000 (20:45 +1100)]
Merge branch 'master' into blender2.8

2 years agoGPU_select: correction to select-pick-finalize
Campbell Barton [Tue, 27 Feb 2018 09:44:12 +0000 (20:44 +1100)]
GPU_select: correction to select-pick-finalize

Would run twice, harmless at the moment but could cause issues later.

2 years agoFix error in depth picking caused by GL contexts
Campbell Barton [Tue, 27 Feb 2018 09:27:56 +0000 (20:27 +1100)]
Fix error in depth picking caused by GL contexts

Depth picking needs to read the depth buffer after drawing
since GPU_select_end runs in a different OpenGL context
reading the depth buffer wasn't working.
This caused the last object to be unelectable.

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Tue, 27 Feb 2018 09:22:26 +0000 (20:22 +1100)]
Merge branch 'master' into blender2.8

2 years agoGPU_select: utility function to finalize selection
Campbell Barton [Tue, 27 Feb 2018 09:16:53 +0000 (20:16 +1100)]
GPU_select: utility function to finalize selection

Needed for depth picking in 2.8

2 years agoRevert "F12 offline Freestyle rendering support in Eevee"
Tamito Kajiyama [Tue, 27 Feb 2018 04:02:58 +0000 (13:02 +0900)]
Revert "F12 offline Freestyle rendering support in Eevee"

This reverts commit 8a7c0abc2d548d88b755a1c712aa06f0ee631076.

2 years agoFix T54106: Save blend ignores 'check_existing'
Campbell Barton [Tue, 27 Feb 2018 02:33:59 +0000 (13:33 +1100)]
Fix T54106: Save blend ignores 'check_existing'

2 years agoF12 offline Freestyle rendering support in Eevee
Tamito Kajiyama [Mon, 26 Feb 2018 14:39:37 +0000 (23:39 +0900)]
F12 offline Freestyle rendering support in Eevee

This patch adds F12 offline Freestyle rendering support to Eevee.

Most functionalities are identical with those found in Cycles.

The only major difference is that the per-view layer "use Freestyle" toggle
option is currently placed in the "Passes" panel of the "View Layers"
properties window instead of a "Layer" panel as in Cycles.  Since Freestyle
is a post-processed overlay and not a pass, the present option location is
a compromise.  To describe this fact, the per-layer "use Freestyle" option
is in a subsection labeled as "Layer".

Reviewers: fclem, brecht, campbellbarton

Reviewed By: fclem, brecht

Subscribers: dfelinto

Differential Revision: https://developer.blender.org/D3084

2 years agoMerge branch 'master' into blender2.8
Gaia Clary [Mon, 26 Feb 2018 22:38:21 +0000 (23:38 +0100)]
Merge branch 'master' into blender2.8

2 years agoCollada: removed unused variables. fixed incompatible format in console output (Anima...
Gaia Clary [Mon, 26 Feb 2018 22:37:27 +0000 (23:37 +0100)]
Collada: removed unused variables. fixed incompatible format in console output (AnimationExporter.cpp)

2 years agoMerge branch 'blender2.8' of git.blender.org:blender into blender2.8
Gaia Clary [Mon, 26 Feb 2018 21:55:15 +0000 (22:55 +0100)]
Merge branch 'blender2.8' of git.blender.org:blender into blender2.8

2 years agomerge from master
Gaia Clary [Mon, 26 Feb 2018 21:49:30 +0000 (22:49 +0100)]
merge from master

2 years agoVSE preview: Get depsgraph from EvaluationContext
Dalai Felinto [Mon, 26 Feb 2018 21:04:18 +0000 (18:04 -0300)]
VSE preview: Get depsgraph from EvaluationContext

Note: Sequencer preview is working only for Clay, for Eevee is still not working.

2 years agoGWN: Fix glitches when closing a window.
Clément Foucault [Mon, 26 Feb 2018 19:09:54 +0000 (20:09 +0100)]
GWN: Fix glitches when closing a window.

2 years agoEevee: Fix prev_persmat being used by multiple viewport.
Clément Foucault [Mon, 26 Feb 2018 19:08:48 +0000 (20:08 +0100)]
Eevee: Fix prev_persmat being used by multiple viewport.

2 years agoV3D: Vertex selection: Fix opengl error.
Clément Foucault [Mon, 26 Feb 2018 19:07:39 +0000 (20:07 +0100)]
V3D: Vertex selection: Fix opengl error.