blender.git
2 years agoMerge branch 'master' into blender2.8
Brecht Van Lommel [Sun, 18 Feb 2018 18:29:17 +0000 (19:29 +0100)]
Merge branch 'master' into blender2.8

2 years agoFix T54089: missing GLSL material draw update when changing object pass index.
Brecht Van Lommel [Sun, 18 Feb 2018 18:28:14 +0000 (19:28 +0100)]
Fix T54089: missing GLSL material draw update when changing object pass index.

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Sun, 18 Feb 2018 11:33:05 +0000 (22:33 +1100)]
Merge branch 'master' into blender2.8

2 years agoCleanup: group BLI_ghash_utils.c API in BLU_ghash.h
Campbell Barton [Sun, 18 Feb 2018 11:10:56 +0000 (22:10 +1100)]
Cleanup: group BLI_ghash_utils.c API in BLU_ghash.h

2 years agoCleanup: split GHash helpers from implementation
Campbell Barton [Sun, 18 Feb 2018 10:44:56 +0000 (21:44 +1100)]
Cleanup: split GHash helpers from implementation

2 years agoCleanup: add 2d suffix to BLI files
Campbell Barton [Sun, 18 Feb 2018 10:27:33 +0000 (21:27 +1100)]
Cleanup: add 2d suffix to BLI files

Some of these API's can have 3D versions, explicitly name them 2D.

2 years agoCycles: tweak CUDA messages and avoid build errors with existing sm_2x configs.
Brecht Van Lommel [Tue, 6 Feb 2018 14:19:25 +0000 (15:19 +0100)]
Cycles: tweak CUDA messages and avoid build errors with existing sm_2x configs.

2 years agoCode cleanup: remove some more unused code after recent CUDA changes.
Brecht Van Lommel [Sat, 17 Feb 2018 23:51:46 +0000 (00:51 +0100)]
Code cleanup: remove some more unused code after recent CUDA changes.

2 years agoCycles: Remove Fermi texture code.
Thomas Dinges [Sat, 17 Feb 2018 21:56:58 +0000 (22:56 +0100)]
Cycles: Remove Fermi texture code.

This should be the last Fermi removal commit, unless I missed something.
It's been a pleasure Fermi!

2 years agoCycles: Remove fermi related defines from the code.
Thomas Dinges [Sat, 17 Feb 2018 21:19:54 +0000 (22:19 +0100)]
Cycles: Remove fermi related defines from the code.

Did not touch Texture related defines, that comes next.

2 years agoCycles: Remove Fermi support from CMake and update runtime checks in device_cuda...
Thomas Dinges [Sat, 17 Feb 2018 15:15:07 +0000 (16:15 +0100)]
Cycles: Remove Fermi support from CMake and update runtime checks in device_cuda.cpp.

Fermi code in Cycles kernel and texture system are coming next.

2 years agoBuildbot: Disable Cycles CUDA support on 32bit, and stop building sm_2x.
Thomas Dinges [Sat, 17 Feb 2018 14:49:37 +0000 (15:49 +0100)]
Buildbot: Disable Cycles CUDA support on 32bit, and stop building sm_2x.

2 years agoCode cleanup: remove WM subwindows.
Brecht Van Lommel [Fri, 16 Feb 2018 21:41:46 +0000 (22:41 +0100)]
Code cleanup: remove WM subwindows.

These no longer made much sense after regions were added, they just
duplicated state that was already in the regions.

2 years agoFix GL_FRAMEBUFFER_UNSUPPORTED warning in console on macOS.
Brecht Van Lommel [Sat, 17 Feb 2018 13:05:19 +0000 (14:05 +0100)]
Fix GL_FRAMEBUFFER_UNSUPPORTED warning in console on macOS.

2 years agoMerge branch 'master' into blender2.8
Brecht Van Lommel [Sat, 17 Feb 2018 00:39:29 +0000 (01:39 +0100)]
Merge branch 'master' into blender2.8

2 years agoDRW: Fix assert with DRW_shgroup_material_instance_create.
Clément Foucault [Fri, 16 Feb 2018 22:06:20 +0000 (23:06 +0100)]
DRW: Fix assert with DRW_shgroup_material_instance_create.

2 years agoFix T53399: Dopesheet keyframes and the drawing of points were not visible with some...
Germano [Fri, 16 Feb 2018 20:02:06 +0000 (18:02 -0200)]
Fix T53399: Dopesheet keyframes and the drawing of points were not visible with some Intel cards

2 years agoGHOST: Windows: Print information on the GPU
Germano [Fri, 16 Feb 2018 18:46:58 +0000 (16:46 -0200)]
GHOST: Windows: Print information on the GPU

2 years agofix:T50079 collada matrix and blender matrix are transposed. This was not regarded...
Gaia Clary [Fri, 16 Feb 2018 15:58:20 +0000 (16:58 +0100)]
fix:T50079 collada matrix and blender matrix are transposed. This was not regarded by the animation importer, so it was creating very odd results

2 years agofix: limit precision also for animation matrixes if the limit option is set (gives...
Gaia Clary [Fri, 16 Feb 2018 15:53:16 +0000 (16:53 +0100)]
fix: limit precision also for animation matrixes if the limit option is set (gives nicer output for inspection)

2 years agoNew function to check if running opengl render
Antonio Vazquez [Fri, 16 Feb 2018 15:52:08 +0000 (16:52 +0100)]
New function to check if running opengl render

2 years agoFix rotation issues due to matrix to quaternion ambiguities
Gaia Clary [Fri, 16 Feb 2018 11:37:36 +0000 (12:37 +0100)]
Fix rotation issues due to matrix to quaternion ambiguities

Reviewers: mont29

Reviewed By: mont29

Subscribers: mont29

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

2 years agoObject Mode: exit sculpt on selection
Campbell Barton [Fri, 16 Feb 2018 12:37:47 +0000 (23:37 +1100)]
Object Mode: exit sculpt on selection

2 years agoObject Mode: exit vert/weight paint on selection
Campbell Barton [Fri, 16 Feb 2018 09:57:46 +0000 (20:57 +1100)]
Object Mode: exit vert/weight paint on selection

Was keeping data, since objects no longer store modes,
object mode can't be properly detected.

2 years agoVertex Paint: expose exist paint-mode to API
Campbell Barton [Fri, 16 Feb 2018 09:24:38 +0000 (20:24 +1100)]
Vertex Paint: expose exist paint-mode to API

2 years agoCleanup: avoid shadowing w/ name 'base'
Campbell Barton [Fri, 16 Feb 2018 09:55:24 +0000 (20:55 +1100)]
Cleanup: avoid shadowing w/ name 'base'

2 years agoCode cleanup: deduplicate code for running Python scripts outside Blender.
Brecht Van Lommel [Fri, 16 Feb 2018 00:22:34 +0000 (01:22 +0100)]
Code cleanup: deduplicate code for running Python scripts outside Blender.

2 years agoTests: add OpenGL UI drawing tests.
Brecht Van Lommel [Wed, 14 Feb 2018 19:33:33 +0000 (20:33 +0100)]
Tests: add OpenGL UI drawing tests.

This reuses the Cycles regression test code to also work for OpenGL UI drawing.
We launch Blender with a bunch of .blend files, take a screenshot and compare
it with a reference screenshot, and generate a HMTL report showing the failed
tests and their differences.

For Cycles we keep small reference renders to compare to in svn, but for OpenGL
developers currently have to generate the references manually. How to use:

* WITH_OPENGL_DRAW_TESTS=ON in CMake
* BLENDER_TEST_UPDATE=1 ctest -R opengl_draw
* .. make code changes ..
* ctest -R opengl_draw
* open build_dir/tests/opengl_draw/report.html

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

2 years agoTests: split off render report test code from Cycles tests.
Brecht Van Lommel [Wed, 14 Feb 2018 16:33:06 +0000 (17:33 +0100)]
Tests: split off render report test code from Cycles tests.

This renames test environment variables from CYCLESTEST_* to BLENDER_TEST_*.

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

2 years agoFix bplayer (c)
Bastien Montagne [Fri, 16 Feb 2018 11:40:11 +0000 (12:40 +0100)]
Fix bplayer (c)

2 years agoMerge branch 'master' into blender2.8
Bastien Montagne [Fri, 16 Feb 2018 10:51:41 +0000 (11:51 +0100)]
Merge branch 'master' into blender2.8

2 years agoFix bplayer (c)
Bastien Montagne [Fri, 16 Feb 2018 09:42:43 +0000 (10:42 +0100)]
Fix bplayer (c)

2 years agoFix part II of T53977: Severe problem with multiple instances of a library (save...
Bastien Montagne [Fri, 16 Feb 2018 09:31:03 +0000 (10:31 +0100)]
Fix part II of T53977: Severe problem with multiple instances of a library (save and reload).

Once 'losing lib' issue is fixed (in previous commit), we have new issue
that this could lead to several copies of the same linked data-block in
.blend file. Which is not good. At all.

So had to add a GHash-based check in libraries reading code to ensure we
only load a same ID from a same lib once.

2 years agoFix part I of T53977: Severe problem with multiple instances of a library (save and...
Bastien Montagne [Tue, 13 Feb 2018 19:58:40 +0000 (20:58 +0100)]
Fix part I of T53977: Severe problem with multiple instances of a library (save and reload).

The issue was that when a same lib was found several times in loaded
.blend, we'd only keep the first occurence. But since Blender expects
next data-blocks to belong to last found library, we could actually
be adding data-blocks assigned to copies of the duplicated lib to
another, totally unrelated lib.

Those data-blocks were then obviously not found when actually loading
libs content, and lost.

Note that this only fix one part of the issue, current code can
generate several copies of same linked data-block now, will fix in
another commit.

2 years agoMetalball drawing: rename mball helpers to handles
Germano [Fri, 16 Feb 2018 04:01:09 +0000 (02:01 -0200)]
Metalball drawing: rename mball helpers to handles

and also rename some related functions

2 years agoCleanup: quiet warning
Campbell Barton [Thu, 15 Feb 2018 22:14:25 +0000 (09:14 +1100)]
Cleanup: quiet warning

2 years agoGWN: Fix ubo debug printf
Clément Foucault [Thu, 15 Feb 2018 18:15:11 +0000 (19:15 +0100)]
GWN: Fix ubo debug printf

2 years agoGWN: Fix attrib arrays giving incorrect name depending on the platform.
Clément Foucault [Thu, 15 Feb 2018 18:14:46 +0000 (19:14 +0100)]
GWN: Fix attrib arrays giving incorrect name depending on the platform.

It seems that some opengl implementations are returning "[0]" after array names but some others dont.

Remove the "[0]" so everything is consistent.

2 years agoMerge branch 'master' into blender2.8
Brecht Van Lommel [Thu, 15 Feb 2018 17:15:00 +0000 (18:15 +0100)]
Merge branch 'master' into blender2.8

2 years agoCode cleanup: simplify switch statement, ensure we catch missing enums.
Brecht Van Lommel [Thu, 15 Feb 2018 17:13:07 +0000 (18:13 +0100)]
Code cleanup: simplify switch statement, ensure we catch missing enums.

2 years agoFix T54073: crash and uninitialized memory in Cycles displacement hashing.
Brecht Van Lommel [Thu, 15 Feb 2018 14:28:34 +0000 (15:28 +0100)]
Fix T54073: crash and uninitialized memory in Cycles displacement hashing.

2 years agoFix crash reading deg_point_cache_transform.blend test, saved with 2.8.
Brecht Van Lommel [Thu, 15 Feb 2018 15:25:37 +0000 (16:25 +0100)]
Fix crash reading deg_point_cache_transform.blend test, saved with 2.8.

In general 2.8 files may not be readable in master, but might as well fix
this case so all the lib/tests can be opened still.

2 years agoCleanup: Remove debug-only code
Sergey Sharybin [Thu, 15 Feb 2018 16:57:44 +0000 (17:57 +0100)]
Cleanup: Remove debug-only code

2 years agoFix T54076: MCE in Graph mode - clip.graph_select_border does not work by header...
Sergey Sharybin [Thu, 15 Feb 2018 15:56:49 +0000 (16:56 +0100)]
Fix T54076: MCE in Graph mode - clip.graph_select_border does not work by header menu

While the script should be using INVOKE_PREVIEW for operators in clip view,
window manager was lacking some switch statements.

Thanks Brecht fore review!

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 15 Feb 2018 14:17:43 +0000 (01:17 +1100)]
Merge branch 'master' into blender2.8

2 years agoCleanup: rename BLI_thread.h API
Campbell Barton [Thu, 15 Feb 2018 14:13:46 +0000 (01:13 +1100)]
Cleanup: rename BLI_thread.h API

- Use BLI_threadpool_ prefix for (deprecated)
  thread/listbase API.
- Use BLI_thread as prefix for other functions.

See P614 to apply instead of manually resolving conflicts.

2 years agoMerge branch 'master' into blender2.8
Sergey Sharybin [Thu, 15 Feb 2018 13:15:55 +0000 (14:15 +0100)]
Merge branch 'master' into blender2.8

2 years agoCleanup: use '_len' instead of '_size' w/ BLI API
Campbell Barton [Thu, 15 Feb 2018 12:36:11 +0000 (23:36 +1100)]
Cleanup: use '_len' instead of '_size' w/ BLI API

- When returning the number of items in a collection use BLI_*_len()
- Keep _size() for size in bytes.
- Keep _count() for data structures that don't store length
  (hint this isn't a simple getter).

See P611 to apply instead of manually resolving conflicts.

2 years agoCleanup: Style, braces with macros
Sergey Sharybin [Thu, 15 Feb 2018 11:41:35 +0000 (12:41 +0100)]
Cleanup: Style, braces with macros

See https://wiki.blender.org/index.php/Dev:Doc/Code_Style#Braces_with_Macros

2 years agoCleanup: Remove BLI_ prefix from listbase macro
Sergey Sharybin [Thu, 15 Feb 2018 11:38:21 +0000 (12:38 +0100)]
Cleanup: Remove BLI_ prefix from listbase macro

This is kind of doesn't matter where macro itself is defined.

We should stick to the following:

- If some macro is actually more an inline function, follow regular
  function name conventions.
- If macro is a macro, type it in capitals. Use module prefix if that
  helps readability or it if helps avoiding accidents.

2 years agoMerge branch 'master' into blender2.8
Sergey Sharybin [Thu, 15 Feb 2018 11:33:44 +0000 (12:33 +0100)]
Merge branch 'master' into blender2.8

2 years agoSimple hair children: Make twist affected by texture
Sergey Sharybin [Thu, 15 Feb 2018 10:22:44 +0000 (11:22 +0100)]
Simple hair children: Make twist affected by texture

This completes twist feature, which is now possible to also control by
texture. Since textures can not easily contain negative values as well,
same trick with 0.5 neutral as vertex groups is used.

All in all, this twist features allows to do following things.

Original hair:

{F2287535}

Hair with scientifically calculated twist value of 0.5:

{F2287540}

And we can also twist braids in opposite directions dependent on left/right
side:

{F2287548}

2 years agoFix T54078: Adding subsurf prior to particle system breaks simple children vgroups...
Sergey Sharybin [Thu, 15 Feb 2018 09:27:39 +0000 (10:27 +0100)]
Fix T54078: Adding subsurf prior to particle system breaks simple children vgroups and textures

cpa->num points to a face index on BASE mesh, but get_child_modifier_parameters()
expects index on a FINAL dm. So wrong index was used here.

2 years agoSimple hair children: Make twist affected by vertex group
Sergey Sharybin [Wed, 14 Feb 2018 15:46:29 +0000 (16:46 +0100)]
Simple hair children: Make twist affected by vertex group

The idea is to give a control over direction of twist, and maybe amount of
twist as well. More concrete example: make braids on left and right side of
character head to be twisting opposite directions.

Now, tricky part: we need some negative values to flip direction, but weights
can not be negative. So we use same trick as displacement map and tangent normal
maps, where 0.5 is neutral, values below 0.5 are considered negative and values
above 0.5 are considered positive.

2 years agoSimple hair children: Initial implementation of twist control
Sergey Sharybin [Wed, 14 Feb 2018 13:33:53 +0000 (14:33 +0100)]
Simple hair children: Initial implementation of twist control

It allows to have children hair to be twisted around parent curve, which is
quite an essential feature when creating hair braids.

There are currently two controls:

- Number of turns around parent children.
- Influence curve, which allows to modify "twistness" along the strand.

2 years agoBlenlib: Assert when attempting to rotate point around vector and store result in...
Sergey Sharybin [Wed, 14 Feb 2018 13:29:37 +0000 (14:29 +0100)]
Blenlib: Assert when attempting to rotate point around vector and store result in the point

This isn't supported since there are subsequent reads to all point coordinates
after modification started.

Probably we need to create a temp copy of point, but that's like extra CPU
ticks.

2 years agoParticles: Wrap insane amount of arguments to child modifier evaluation
Sergey Sharybin [Wed, 14 Feb 2018 11:33:34 +0000 (12:33 +0100)]
Particles: Wrap insane amount of arguments to child modifier evaluation

Use single structure. It seems we will need to pass more information soon,
so better to do it via the structure.

2 years agoAvoid unnecessary sqrt calls
Campbell Barton [Thu, 15 Feb 2018 10:38:24 +0000 (21:38 +1100)]
Avoid unnecessary sqrt calls

2 years agoFix crash when rendering particles with cycles
Mai Lavelle [Tue, 13 Feb 2018 07:26:07 +0000 (02:26 -0500)]
Fix crash when rendering particles with cycles

view_layer is NULL when the render engine is created, this gets passed
around and ends up in this code causing a crash. This should be reverted
after the render engine api is updated to set view_layer.

2 years agoMake particle edit draw mode a noop
Mai Lavelle [Tue, 13 Feb 2018 07:11:23 +0000 (02:11 -0500)]
Make particle edit draw mode a noop

Seems this was just a template, but that template painted everything
green. Not sure what this draw mode should do really.

2 years agoFix lack of particles updates and disappearing particles
Mai Lavelle [Sat, 10 Feb 2018 07:40:41 +0000 (02:40 -0500)]
Fix lack of particles updates and disappearing particles

The conditionals in particle code are... some sort of madness... I'm not
even sure what the correct behavior should be from looking at it.

In this case the path cache generation was being skipped in edit mode.

2 years agoTag update when using particle edit brushes
Mai Lavelle [Fri, 9 Feb 2018 02:37:03 +0000 (21:37 -0500)]
Tag update when using particle edit brushes

2 years agoFix crash with particle cut brush and other brushes
Mai Lavelle [Thu, 8 Feb 2018 05:15:09 +0000 (00:15 -0500)]
Fix crash with particle cut brush and other brushes

Why is bedit->data.context NULL?

2 years agoStart bringing back particle edit
Mai Lavelle [Thu, 8 Feb 2018 03:18:38 +0000 (22:18 -0500)]
Start bringing back particle edit

Its kind of broken, but have to start somewhere

2 years agoAdd versioning code to make particles with default size visible again
Mai Lavelle [Wed, 7 Feb 2018 03:55:15 +0000 (22:55 -0500)]
Add versioning code to make particles with default size visible again

Due to changes in draw code particles from old files that may have had a
default draw size of 0 will not be visible. Old draw code would check
for this and adjust the size, however the unit for draw size has changed
from pixels to BU, and it no longer makes sense to have such checks.

This patch is to ensure particles from such files remain visible.

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 15 Feb 2018 07:05:02 +0000 (18:05 +1100)]
Merge branch 'master' into blender2.8

2 years agoCleanup: style, warning
Campbell Barton [Thu, 15 Feb 2018 07:03:55 +0000 (18:03 +1100)]
Cleanup: style, warning

2 years agoFix T54075: Align Objects fails w/ empty mesh
Campbell Barton [Thu, 15 Feb 2018 00:33:47 +0000 (11:33 +1100)]
Fix T54075: Align Objects fails w/ empty mesh

2 years agoCleanup: style
Campbell Barton [Thu, 15 Feb 2018 00:13:54 +0000 (11:13 +1100)]
Cleanup: style

2 years agoFix T54072: Crash splitting edges
Campbell Barton [Wed, 14 Feb 2018 23:48:12 +0000 (10:48 +1100)]
Fix T54072: Crash splitting edges

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

2 years agoCycles: restore Particle Info Index for now, keep it next to Random.
Brecht Van Lommel [Wed, 14 Feb 2018 16:02:28 +0000 (17:02 +0100)]
Cycles: restore Particle Info Index for now, keep it next to Random.

It seems to be useful still in cases where the particle are distributed in
a particular order or pattern, to colorize them along with that. This isn't
really well defined, but might as well avoid breaking backwards compatibility
for now.

2 years agoEevee: Fix broken AO and Contact shadows on certain platform.
Clément Foucault [Wed, 14 Feb 2018 18:02:03 +0000 (19:02 +0100)]
Eevee: Fix broken AO and Contact shadows on certain platform.

This was caused by ce0f70fbd62fc812a2508c27a2f392cde0acbdfa

2 years agoDRW: Refactor: Less feature duplication with Gwn.
Clément Foucault [Wed, 14 Feb 2018 17:59:15 +0000 (18:59 +0100)]
DRW: Refactor: Less feature duplication with Gwn.

This removes the need of custom attribs for instancing.
Instancing works fully with dynamic batches & Gwn_VertFormat now.

This is in prevision of the VAO manager patch.

2 years agoDRW: Add instance buffer manager.
Clément Foucault [Wed, 14 Feb 2018 17:16:52 +0000 (18:16 +0100)]
DRW: Add instance buffer manager.

This manager allows to distribute existing batches for instancing
attributes. This reduce the number of batches creation.
Querying a batch is done with a vertex format. This format should
be static so that it's pointer never changes (because we are using
this pointer as identifier [we don't want to check the full format
that would be too slow]).

This might make the original Instance Data manager useless but it's currently used by DRW_object_engine_data_ensure().

2 years agoGWN: Add new dynamic type of batches and remove
Clément Foucault [Wed, 14 Feb 2018 16:59:48 +0000 (17:59 +0100)]
GWN: Add new dynamic type of batches and remove

Theses batches keeps their memory chuck allocated after transfer to be reused and updated very often.

NOTE: This commit break instancing in DRW. (it's fixed in the next commit)

2 years agoGWN: Add GWN_batch_draw_procedural
Clément Foucault [Wed, 14 Feb 2018 16:55:01 +0000 (17:55 +0100)]
GWN: Add GWN_batch_draw_procedural

This allow to drawn large amounts of primitives without any memory footprint.

2 years agoGWN: Allow drawing instances without batch_instancing
Clément Foucault [Wed, 14 Feb 2018 16:52:19 +0000 (17:52 +0100)]
GWN: Allow drawing instances without batch_instancing

2 years agoDRW: Refactor: Make use of the new Gawain long attrib support.
Clément Foucault [Sun, 11 Feb 2018 15:15:46 +0000 (16:15 +0100)]
DRW: Refactor: Make use of the new Gawain long attrib support.

2 years agoGWN: Extend support for multiple of 4 components in batches.
Clément Foucault [Sun, 11 Feb 2018 14:33:39 +0000 (15:33 +0100)]
GWN: Extend support for multiple of 4 components in batches.

2 years agoGWN: Fix style and line of code that does nothing!
Clément Foucault [Sun, 11 Feb 2018 04:15:26 +0000 (05:15 +0100)]
GWN: Fix style and line of code that does nothing!

2 years agoGWN: Add support for 4x4 Matrices and instancing attributes.
Clément Foucault [Sun, 11 Feb 2018 04:14:35 +0000 (05:14 +0100)]
GWN: Add support for 4x4 Matrices and instancing attributes.

Only support float matrices specifically for code simplicity.

2 years agoMerge branch 'master' into blender2.8
Brecht Van Lommel [Wed, 14 Feb 2018 14:16:50 +0000 (15:16 +0100)]
Merge branch 'master' into blender2.8

2 years agoCycles: change Index output of Hair and Particle Info to Random, in 0..1 range.
Brecht Van Lommel [Wed, 14 Feb 2018 13:32:38 +0000 (14:32 +0100)]
Cycles: change Index output of Hair and Particle Info to Random, in 0..1 range.

These are used for randomization, so it's convenient if the index is already
hashed and consistent with the Object Info node.

2 years agoGPU: use alpha blend that works for drawing to transparent buffer.
Brecht Van Lommel [Wed, 14 Feb 2018 00:01:29 +0000 (01:01 +0100)]
GPU: use alpha blend that works for drawing to transparent buffer.

It's unlikely to ever be intentional to square the source alpha, as happens
with glBlendFunc, so this changes the blending throughout the code.

2 years agoGPU: don't use multisample for entire window, only for offscreen 3D viewport.
Brecht Van Lommel [Tue, 13 Feb 2018 18:15:34 +0000 (19:15 +0100)]
GPU: don't use multisample for entire window, only for offscreen 3D viewport.

Now that the new 3D viewport draws to a multisample offscreen buffer, there is
no good reason anymore to create an entire multisample window and pay the
performance/memory cost for other regions that don't need it.

GL_MULTISAMPLE now only gets enabled for offscreen buffers, so we don't need
to check for it throughout the UI code anymore.

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

2 years agoFix incorrect RNA path to view_render settings.
Brecht Van Lommel [Wed, 14 Feb 2018 12:31:16 +0000 (13:31 +0100)]
Fix incorrect RNA path to view_render settings.

2 years agoCode cleanup: simplify subwindow code.
Brecht Van Lommel [Wed, 14 Feb 2018 02:08:58 +0000 (03:08 +0100)]
Code cleanup: simplify subwindow code.

2 years agoParticles: Avoid multiple function declarations in multiple places
Sergey Sharybin [Wed, 14 Feb 2018 10:52:58 +0000 (11:52 +0100)]
Particles: Avoid multiple function declarations in multiple places

This makes it really hard to spot errors when function signature changes.

2 years agoParticles: Cleanup, remove trailign whitespace
Sergey Sharybin [Wed, 14 Feb 2018 10:46:33 +0000 (11:46 +0100)]
Particles: Cleanup, remove trailign whitespace

2 years agoHair child: Use clamp function to clamp curve evaluation
Sergey Sharybin [Wed, 14 Feb 2018 10:36:46 +0000 (11:36 +0100)]
Hair child: Use clamp function to clamp curve evaluation

Avoids redundant calls to the curve evaluation.

2 years agoMath utils: Add clamping functions
Sergey Sharybin [Wed, 14 Feb 2018 10:21:27 +0000 (11:21 +0100)]
Math utils: Add clamping functions

2 years agoCMake: Expose Cycles devices support as CMake option
Sergey Sharybin [Wed, 14 Feb 2018 09:31:04 +0000 (10:31 +0100)]
CMake: Expose Cycles devices support as CMake option

Handy to disable GPU based devices when it's needed to run Valgrind.

2 years agoCMake: Fix cimpilation error when CUDA dynload is disabled but toolkit is not installed
Sergey Sharybin [Wed, 14 Feb 2018 09:20:26 +0000 (10:20 +0100)]
CMake: Fix cimpilation error when CUDA dynload is disabled but toolkit is not installed

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Wed, 14 Feb 2018 05:04:07 +0000 (16:04 +1100)]
Merge branch 'master' into blender2.8

2 years agoCleanup: use prefix for tests
Campbell Barton [Wed, 14 Feb 2018 05:02:21 +0000 (16:02 +1100)]
Cleanup: use prefix for tests

Allows for running all `bmesh_*` or `object_*` tests.

2 years agoObject Mode: remove Scene.obedit
Campbell Barton [Tue, 13 Feb 2018 21:39:10 +0000 (08:39 +1100)]
Object Mode: remove Scene.obedit

This means we can support having the same scene in different windows
with different edit-objects.

2 years agoGPU: add offscreen buffer drawing utility functions.
Brecht Van Lommel [Tue, 13 Feb 2018 17:18:04 +0000 (18:18 +0100)]
GPU: add offscreen buffer drawing utility functions.

2 years agoCode cleanup: stop using rectangle textures in window draw, simplify code.
Brecht Van Lommel [Tue, 13 Feb 2018 17:09:58 +0000 (18:09 +0100)]
Code cleanup: stop using rectangle textures in window draw, simplify code.

2 years agoCode cleanup: fix incorrect reading of GL scissor coordinates.
Brecht Van Lommel [Mon, 12 Feb 2018 20:32:45 +0000 (21:32 +0100)]
Code cleanup: fix incorrect reading of GL scissor coordinates.

These are often the same as the viewport, but not always.