blender.git
23 months 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

23 months 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.

23 months 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.

23 months 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.

23 months 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.

23 months 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.

23 months 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

23 months 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.

23 months 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.

23 months 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.

23 months 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.

23 months 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.

23 months 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

23 months 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.

23 months 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.

23 months 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

23 months 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)

23 months 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).

23 months 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

23 months 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.

23 months 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.

23 months 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

23 months 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

23 months 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.

23 months 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

23 months 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

23 months 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

23 months 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

23 months 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.

23 months 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.

23 months 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.

23 months 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.

23 months 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

23 months 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.

23 months 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.

23 months 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.

23 months 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.

23 months 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.

23 months 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.

23 months 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.

23 months 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

23 months 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

23 months 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.

23 months 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.

23 months 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)

23 months 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

23 months 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.

23 months 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.

23 months 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.

23 months 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.

23 months 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

23 months 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

23 months 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

23 months 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

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

23 months 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

23 months 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

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

23 months 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)

23 months 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

23 months 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

23 months 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

23 months 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

23 months 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.

23 months 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.

23 months 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.

23 months 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.

23 months 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

23 months 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.

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

23 months 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

23 months 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

23 months 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.

23 months 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.

23 months 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

23 months 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.

23 months 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.

23 months 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

23 months 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

23 months 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.

23 months 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'

23 months 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

23 months 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

23 months 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)

23 months 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

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

23 months 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.

23 months 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.

23 months 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.

23 months 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.

23 months agoWM/GPU: Clear VAO cache of batch preset when switching context.
Clément Foucault [Mon, 26 Feb 2018 18:49:06 +0000 (19:49 +0100)]
WM/GPU: Clear VAO cache of batch preset when switching context.

This is needed for multiple windows to draw the batch presets.
This will not be needed once we use only one context for UI.

23 months agoDRW: Add new Draw Manager OpenGL Context.
Clément Foucault [Mon, 26 Feb 2018 18:41:17 +0000 (19:41 +0100)]
DRW: Add new Draw Manager OpenGL Context.

This separate context allows two things:
- It allows viewports in multi-windows configuration.
- F12 render can use this context in a separate thread and do a non-blocking render.

The downside is that the context cannot be used while rendering so a request to refresh a viewport will lock the UI. This is something that will be adressed in the future.

Under the hood what does that mean:
- Not adding more mess with VAOs management in gawain.
- Doing depth only draw for operators / selection needs to be done in an offscreen buffer.
- The 3D cursor "autodis" operator is still reading the backbuffer so we need to copy the result to it.
- All FBOs needed by the drawmanager must to be created/destroyed with its context active.
- We cannot use batches created for UI in the DRW context and vice-versa. There is a clear separation of resources that enables the use of safe multi-threading.

23 months agoGHOST: Add new interface to manage offscreen contexts.
Clément Foucault [Mon, 26 Feb 2018 18:10:15 +0000 (19:10 +0100)]
GHOST: Add new interface to manage offscreen contexts.

Offscreen contexts are not attached to a window and can only be used for rendering to frambuffer objects.

CGL implementation : Brecht Van Lommel (brecht)
GLX implementation : Clément Foucault (fclem)
WGL implementation : Germano Cavalcante (mano-wii)

Other implementation are just place holder for now.

23 months agosimplified collada integration in Blender. made functions mostly similar with blender2.8
Gaia Clary [Mon, 26 Feb 2018 15:49:06 +0000 (16:49 +0100)]
simplified collada integration in Blender. made functions mostly similar with blender2.8

23 months agoAdding support for Matrix Transformation export
Gaia Clary [Mon, 26 Feb 2018 15:34:45 +0000 (16:34 +0100)]
Adding support for Matrix Transformation export

The exporter does export matrix data (4*4 Transformation matrix) only for Skeletal animation. For object animation only exporting to trans/rot/loc is implemented.

This task implements Matrix export also for simple Object animation.

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

23 months agocollada: fix typo in if statement
Gaia Clary [Mon, 26 Feb 2018 11:55:54 +0000 (12:55 +0100)]
collada: fix typo in if statement

23 months agoas discussed on IRC this definition seems to be not necessary
Gaia Clary [Mon, 26 Feb 2018 11:09:29 +0000 (12:09 +0100)]
as discussed on IRC this definition seems to be not necessary

23 months agooptimized the output of the collada test script for better reading
Gaia Clary [Sun, 25 Feb 2018 23:09:00 +0000 (00:09 +0100)]
optimized the output of the collada test script for better reading

23 months agoCleanup: typos
Campbell Barton [Mon, 26 Feb 2018 08:58:31 +0000 (19:58 +1100)]
Cleanup: typos

D3081 by @rjg, with others.

23 months agoRevert "changing collada parameters"
Campbell Barton [Mon, 26 Feb 2018 08:33:53 +0000 (19:33 +1100)]
Revert "changing collada parameters"

This reverts commit d91f2ac37aa02d96a00d116fa55cdc9f55afd32c.

This change makes scene.collada_export() meaningless
(ignoring the scene the method is being run on).