3 years agoCMake: cleanup
Campbell Barton [Mon, 30 Oct 2017 01:58:44 +0000 (12:58 +1100)]
CMake: cleanup

3 years agoCMake: use only absolute linker paths for msvc.
Ray Molenkamp [Sun, 29 Oct 2017 19:16:22 +0000 (13:16 -0600)]
CMake: use only absolute linker paths for msvc.

cmake's link_directories will supply forward slashes for the search paths, the msvc linker has some issues with that, while it will search for the needed libs just fine, the incremental linker gets fed forward slashes for some libs, while the previous binary has backward slashes in it's metadata, the linker assumes obj files got added and performs a full link instead of an incremental link. This change brings down the link time with newer msvc versions for a trivial edit down from a few minutes to a few seconds.

3 years agoAlembic: added frame offset property
Sybren A. Stüvel [Sun, 29 Oct 2017 16:23:50 +0000 (17:23 +0100)]
Alembic: added frame offset property

The offset is subtracted, so that it's intuitive (dragging slider pushes
the animation further that way on the timeline).

3 years agoCycles: restore SOBOL_SKIP hack, for some cases where it helps still.
Brecht Van Lommel [Sun, 29 Oct 2017 14:26:09 +0000 (15:26 +0100)]
Cycles: restore SOBOL_SKIP hack, for some cases where it helps still.

3 years agoAlembic: exporting MetaBalls as mesh
Sybren A. StÃ\83¼vel [Sat, 28 Oct 2017 17:18:27 +0000 (19:18 +0200)]
Alembic: exporting MetaBalls as mesh

- Only basis balls are exported, as they represent the resulting mesh.
  As a result the mesh is written to Alembic using the name of the basis
- MetaBalls are converted to a mesh on every frame, then an
  AbcMeshWriter is used to write that mesh to Alembic.

3 years agoInclude file for DNA_DEPRECATED macro
Sybren A. Stüvel [Sun, 29 Oct 2017 10:26:45 +0000 (11:26 +0100)]
Include file for DNA_DEPRECATED macro

3 years agoAlembic import: fixed mesh corruption when changing topology
Sybren A. Stüvel [Sun, 29 Oct 2017 12:55:42 +0000 (13:55 +0100)]
Alembic import: fixed mesh corruption when changing topology

When the mesh changed topology but kept the vertex count the same, it would
result in a corrupt mesh. By checking the face & loop counts too, this has
become less likely.

I've checked IPolyMeshSchema::isConstant(), but it returns true even when
we see that the mesh changed topology.

3 years agoBMesh: use heap update for dissolve-decimate
Campbell Barton [Sun, 29 Oct 2017 13:36:52 +0000 (00:36 +1100)]
BMesh: use heap update for dissolve-decimate

3 years agoBLI_heap: add validation check, improve tests
Campbell Barton [Sun, 29 Oct 2017 07:23:33 +0000 (18:23 +1100)]
BLI_heap: add validation check, improve tests

Also minor readability changes, avoid running both heap_up/down
gives minor speedup too.

3 years agoCurve Fitting: heap reinsertion optimization
Campbell Barton [Sun, 29 Oct 2017 05:33:44 +0000 (16:33 +1100)]
Curve Fitting: heap reinsertion optimization

3 years agoCleanup: move docs out of header
Campbell Barton [Sun, 29 Oct 2017 05:07:07 +0000 (16:07 +1100)]
Cleanup: move docs out of header

3 years agoCleanup: const args
Campbell Barton [Sun, 29 Oct 2017 04:42:54 +0000 (15:42 +1100)]
Cleanup: const args

3 years agoBLI_heap: minor changes to the API
Campbell Barton [Sun, 29 Oct 2017 04:25:13 +0000 (15:25 +1100)]
BLI_heap: minor changes to the API

Recent addition of 'reinsert' didn't match logic for ghash API.

Rename to BLI_heap_node_value_update,
also add BLI_heap_insert_or_update since it's a common operation.

3 years agoUse BLI_heap_reinsert for decimate and beautify
Campbell Barton [Sat, 28 Oct 2017 18:23:27 +0000 (05:23 +1100)]
Use BLI_heap_reinsert for decimate and beautify

Improves performance for high poly meshes,
~70% faster for decimate, only ~10% for beautify.

3 years agoBLI_hash: add BLI_heap_reinsert
Campbell Barton [Sat, 28 Oct 2017 17:42:58 +0000 (04:42 +1100)]
BLI_hash: add BLI_heap_reinsert

Allows avoiding remove/insert calls.

3 years agoGTest: initial BLI_heap test
Campbell Barton [Sat, 28 Oct 2017 13:40:40 +0000 (00:40 +1100)]
GTest: initial BLI_heap test

3 years agoFix T53185: After rendering an animation (Ctrl-F12), pressing F12 no longer renders...
Joshua Leung [Sat, 28 Oct 2017 13:09:57 +0000 (02:09 +1300)]
Fix T53185: After rendering an animation (Ctrl-F12), pressing F12 no longer renders single frames only

3 years agoBLI_array_store: correct hashing single bytes
Campbell Barton [Sat, 28 Oct 2017 07:28:55 +0000 (18:28 +1100)]
BLI_array_store: correct hashing single bytes

The single byte version of hash_data was casting from unsigned char
instead of signed.

This didn't cause any errors since the result of each aren't compared.
Even so, better keep them matching.

3 years agoCleanup: use uint type in BLI
Campbell Barton [Sat, 28 Oct 2017 06:48:45 +0000 (17:48 +1100)]
Cleanup: use uint type in BLI

3 years agoDocs: clarify return value for BVH API
Campbell Barton [Fri, 27 Oct 2017 05:14:24 +0000 (16:14 +1100)]
Docs: clarify return value for BVH API

3 years agoFix T53131: Incorrect vert-edge angle calculation
Campbell Barton [Fri, 27 Oct 2017 02:10:36 +0000 (13:10 +1100)]
Fix T53131: Incorrect vert-edge angle calculation

Vertex w/ a single edge wasn't detected

3 years agoRemove SCREEN_OT_header_flip, use SCREEN_OT_region_flip instead
Julian Eisel [Thu, 26 Oct 2017 20:40:24 +0000 (22:40 +0200)]
Remove SCREEN_OT_header_flip, use SCREEN_OT_region_flip instead

Basically reverts rB65c4149f203610 and fixes the issue in a better way.

Keymaps using the removed operator will be affected. Switching header
from top to bottom now has the shortcut F5, just like switching other

3 years agoFix T52984. Trackpad rotation to natural direction
Arto Kitula [Thu, 26 Oct 2017 20:11:25 +0000 (23:11 +0300)]
Fix T52984. Trackpad rotation to natural direction

3 years agoUsing gtest fixtures in Alembic export tests
Sybren A. Stüvel [Thu, 26 Oct 2017 10:43:59 +0000 (12:43 +0200)]
Using gtest fixtures in Alembic export tests

3 years agoEvent System: check_click was left set
Campbell Barton [Thu, 26 Oct 2017 05:08:45 +0000 (16:08 +1100)]
Event System: check_click was left set

Caused by own change 137586a13c

3 years agoCycles: use AO factor to let user adjust intensity of AO bounces.
Brecht Van Lommel [Wed, 25 Oct 2017 19:07:44 +0000 (21:07 +0200)]
Cycles: use AO factor to let user adjust intensity of AO bounces.

We are already using the AO distance, so might as well offer this extra
control over the intensity. Useful when an interior scene is supposed to
be significantly darker than the background shader.

3 years agoDepsgraph: Cleanup, remove redundant calls to add_component
Sergey Sharybin [Wed, 25 Oct 2017 12:40:38 +0000 (14:40 +0200)]
Depsgraph: Cleanup, remove redundant calls to add_component

3 years agoDepsgraph: Need to tag relations for update after new clip was added
Sergey Sharybin [Wed, 25 Oct 2017 12:18:21 +0000 (14:18 +0200)]
Depsgraph: Need to tag relations for update after new clip was added

3 years agoDepsgraph: Rework debug relations update function
Sergey Sharybin [Wed, 25 Oct 2017 10:11:49 +0000 (12:11 +0200)]
Depsgraph: Rework debug relations update function

Make it a tag for relations update function instead, since we will not be able
to easily rebuild relations, and we wouldn't be able to iterate all scenes.

This is a part of mowing depsgraph to be per-workspace/layer in 2.8 branch.

3 years agoDepsgraph: Add missing forward struct declarations
Sergey Sharybin [Wed, 25 Oct 2017 10:11:12 +0000 (12:11 +0200)]
Depsgraph: Add missing forward struct declarations

3 years agoDepsgraph: Cleanup, trailing whitespace and braces
Sergey Sharybin [Wed, 25 Oct 2017 10:07:51 +0000 (12:07 +0200)]
Depsgraph: Cleanup, trailing whitespace and braces

3 years agoDepsgraph: Make depsgraph.debug_stats to return a string
Sergey Sharybin [Wed, 25 Oct 2017 10:06:56 +0000 (12:06 +0200)]
Depsgraph: Make depsgraph.debug_stats to return a string

This way we can see result in the python console.

3 years agoDepsgraph: Add missing movie clip dopesheet invalidation
Sergey Sharybin [Wed, 25 Oct 2017 09:45:31 +0000 (11:45 +0200)]
Depsgraph: Add missing movie clip dopesheet invalidation

3 years agoDepsgraph: Use explicit opcode for shape key
Sergey Sharybin [Wed, 25 Oct 2017 09:37:24 +0000 (11:37 +0200)]
Depsgraph: Use explicit opcode for shape key

3 years agoDepsgraph: Cleanup, use explicit cloth modifier opcode
Sergey Sharybin [Wed, 25 Oct 2017 09:34:41 +0000 (11:34 +0200)]
Depsgraph: Cleanup, use explicit cloth modifier opcode

Avoids use of placeholder operation which also was involving some string

3 years agoDepsgraph: Cleanup, don't call explicit add_id()
Sergey Sharybin [Wed, 25 Oct 2017 09:31:22 +0000 (11:31 +0200)]
Depsgraph: Cleanup, don't call explicit add_id()

This is redundant, adding components will check for ID to exist.

3 years agoDepsgraph: Use explicit parameters eval operation code
Sergey Sharybin [Tue, 18 Jul 2017 09:55:06 +0000 (11:55 +0200)]
Depsgraph: Use explicit parameters eval operation code

This replaces usage of generic PLACEHOLDEWR with string lookup with more
explicit opcode. This should make it faster to build dependency graph by
avoiding string comparisons when it's not needed.

There should be no user measurable different.

3 years agoDepsgraph: Cleanup, use proper style for macro loop
Sergey Sharybin [Wed, 25 Oct 2017 09:05:03 +0000 (11:05 +0200)]
Depsgraph: Cleanup, use proper style for macro loop

3 years agoDepsgraph: Remove unsued node flag
Sergey Sharybin [Tue, 25 Jul 2017 12:06:17 +0000 (14:06 +0200)]
Depsgraph: Remove unsued node flag

3 years agoDepsgraph: Make operation codes more obvious
Sergey Sharybin [Wed, 25 Oct 2017 08:58:33 +0000 (10:58 +0200)]
Depsgraph: Make operation codes more obvious

This synchronizes al lrelated changes from blender2.8 branch.

3 years agoDepsgraph: Remove bunch of debug code
Sergey Sharybin [Tue, 24 Oct 2017 14:00:50 +0000 (16:00 +0200)]
Depsgraph: Remove bunch of debug code

Was never actually used and implementation seems to be slow: we shouldn't be
doing per-node evaluation hash lookups, adds too much overhead. We can instead
store statistics in the node itself, and maybe even group them somehow.

Ideally such a statistics should be user-friendly so riggers and animators
can see exactly what's happening.

3 years agoFix T53004: XWayland ignores cursor-warp calls
Campbell Barton [Wed, 25 Oct 2017 09:12:12 +0000 (20:12 +1100)]
Fix T53004: XWayland ignores cursor-warp calls

There is currently a limitation in XWayland,
the cursor needs to be hidden during warp calls.

3 years agoFix one more assert being triggered due to recent changes.
Brecht Van Lommel [Tue, 24 Oct 2017 23:22:16 +0000 (01:22 +0200)]
Fix one more assert being triggered due to recent changes.

3 years agoCode refactor: remove MEM_WRITE_ONLY, always use MEM_READ_WRITE.
Brecht Van Lommel [Tue, 24 Oct 2017 21:23:16 +0000 (23:23 +0200)]
Code refactor: remove MEM_WRITE_ONLY, always use MEM_READ_WRITE.

It's unlikely the driver can do useful optimizations with this, and if
we sum multiple samples we are reading from the memory anyway.

3 years agoFix Cycles gtests build on macOS.
Brecht Van Lommel [Tue, 24 Oct 2017 11:09:41 +0000 (13:09 +0200)]
Fix Cycles gtests build on macOS.

3 years agoFix T53146: incomplete multi GPU and CPU + GPU memory statistics.
Brecht Van Lommel [Tue, 24 Oct 2017 14:59:17 +0000 (16:59 +0200)]
Fix T53146: incomplete multi GPU and CPU + GPU memory statistics.

Part due to recent changes, part old bug.

3 years agoCycles: Fix compilation in debug mode
Sergey Sharybin [Tue, 24 Oct 2017 10:09:02 +0000 (12:09 +0200)]
Cycles: Fix compilation in debug mode

Please check compilation before committing refactor changes!

3 years agoCycles: Fix compilation error without C++11
Sergey Sharybin [Tue, 24 Oct 2017 09:14:01 +0000 (11:14 +0200)]
Cycles: Fix compilation error without C++11

3 years agoCycles: Fix memory leak in test and simplify code
Sergey Sharybin [Tue, 24 Oct 2017 09:12:28 +0000 (11:12 +0200)]
Cycles: Fix memory leak in test and simplify code

3 years agoCycles: Fix test compilation failure after recent refactor
Sergey Sharybin [Tue, 24 Oct 2017 08:47:02 +0000 (10:47 +0200)]
Cycles: Fix test compilation failure after recent refactor

The test will leak CPU devices, but is all passing other than that.
Leak will be fixed shortly.

P.S. Committing code refactor without running regression tests, tsk ;)

3 years agoFix T53143: Knife Crash after Grid Fill
Campbell Barton [Tue, 24 Oct 2017 06:05:10 +0000 (17:05 +1100)]
Fix T53143: Knife Crash after Grid Fill

BM_ELEM_INTERNAL_TAG flag wasn't ensured to be cleared.

3 years agoFix BMesh PyAPI internal flag clearing logic
Campbell Barton [Tue, 24 Oct 2017 05:52:54 +0000 (16:52 +1100)]
Fix BMesh PyAPI internal flag clearing logic

Would leave the flag set on raising an exception.

3 years agoFix edge-split bmesh operator giving empty result
Campbell Barton [Tue, 24 Oct 2017 05:29:29 +0000 (16:29 +1100)]
Fix edge-split bmesh operator giving empty result

3 years agoFix T53130: NLA Tweak (moved) Tracks + Alt+RMB Select does not work in Graph Editor
Joshua Leung [Tue, 24 Oct 2017 03:27:21 +0000 (16:27 +1300)]
Fix T53130: NLA Tweak (moved) Tracks + Alt+RMB Select does not work in Graph Editor

3 years agoFix T53134: denoising with CPU + GPU render leaves some tiles noisy.
Brecht Van Lommel [Tue, 24 Oct 2017 02:07:24 +0000 (04:07 +0200)]
Fix T53134: denoising with CPU + GPU render leaves some tiles noisy.

3 years agoCode refactor: move more memory allocation logic into device API.
Brecht Van Lommel [Fri, 20 Oct 2017 23:09:59 +0000 (01:09 +0200)]
Code refactor: move more memory allocation logic into device API.

* Remove tex_* and pixels_* functions, replace by mem_*.
* Add MEM_TEXTURE and MEM_PIXELS as memory types recognized by devices.
* No longer create device_memory and call mem_* directly, always go
  through device_only_memory, device_vector and device_pixels.

3 years agoCode refactor: use device_only_memory and device_vector in more places.
Brecht Van Lommel [Mon, 23 Oct 2017 17:32:59 +0000 (19:32 +0200)]
Code refactor: use device_only_memory and device_vector in more places.

3 years agoCode refactor: store device/interp/extension/type in each device_memory.
Brecht Van Lommel [Fri, 20 Oct 2017 21:31:13 +0000 (23:31 +0200)]
Code refactor: store device/interp/extension/type in each device_memory.

3 years agoCode refactor: pass device to scene, check OSL with device info.
Brecht Van Lommel [Fri, 20 Oct 2017 03:08:26 +0000 (05:08 +0200)]
Code refactor: pass device to scene, check OSL with device info.

3 years agoVSE: draw grid lines at every second
Campbell Barton [Mon, 23 Oct 2017 11:27:21 +0000 (22:27 +1100)]
VSE: draw grid lines at every second

Was hard-coded to 25 frames.

D2893 by @jooert

3 years agoDocs: improve bmesh exception message
Campbell Barton [Mon, 23 Oct 2017 10:57:32 +0000 (21:57 +1100)]
Docs: improve bmesh exception message

Suggested in T53131

3 years agoCorrect gtest error in recent beautify change
Campbell Barton [Mon, 23 Oct 2017 03:20:35 +0000 (14:20 +1100)]
Correct gtest error in recent beautify change

3 years agoPolyfill Beautify: half-edge optimization
Campbell Barton [Sun, 22 Oct 2017 14:15:26 +0000 (01:15 +1100)]
Polyfill Beautify: half-edge optimization

Was using an edge hash for triangle -> edge lookups,
updating triangle indices for each edge-rotation.

Replace this with half-edge which can rotate edges much more simply,
writing triangles back once the solution has been calculated.

Gives ~33% speedup in own tests.

3 years agoCode refactor: avoid some unnecessary device memory copying.
Brecht Van Lommel [Fri, 20 Oct 2017 02:32:29 +0000 (04:32 +0200)]
Code refactor: avoid some unnecessary device memory copying.

3 years agoCode refactor: simplify image device memory allocation.
Brecht Van Lommel [Fri, 20 Oct 2017 02:20:37 +0000 (04:20 +0200)]
Code refactor: simplify image device memory allocation.

3 years agoFix issue with resumable rendering in recent changes.
Brecht Van Lommel [Sat, 21 Oct 2017 18:57:31 +0000 (20:57 +0200)]
Fix issue with resumable rendering in recent changes.

3 years agoCycles: disable progressive refine if denoising or save buffers is used.
Brecht Van Lommel [Tue, 10 Oct 2017 00:28:23 +0000 (02:28 +0200)]
Cycles: disable progressive refine if denoising or save buffers is used.

Progressive refine undoes memory saving from save buffers, so enabling
both does not make much sense. Previously enabling progressive refine
would disable denoising, but it should be the other way around since
denoise actually affects the render result.

Includes some code refactor for progressive refine render buffers, and
avoids recomputing tiles for each progressive sample.

3 years agoCycles: combined CPU + GPU rendering support.
Brecht Van Lommel [Sat, 21 Oct 2017 16:58:59 +0000 (18:58 +0200)]
Cycles: combined CPU + GPU rendering support.

CPU rendering will be restricted to a BVH2, which is not ideal for raytracing
performance but can be shared with the GPU. Decoupled volume shading will be
disabled to match GPU volume sampling.

The number of CPU rendering threads is reduced to leave one core dedicated to
each GPU. Viewport rendering will also only use GPU rendering still. So along
with the BVH2 usage, perfect scaling should not be expected.

Go to User Preferences > System to enable the CPU to render alongside the GPU.

Differential Revision:

3 years agoMove & rename uiLayoutOperatorButs to interface_templates.c
Julian Eisel [Sat, 21 Oct 2017 14:47:25 +0000 (16:47 +0200)]
Move & rename uiLayoutOperatorButs to interface_templates.c

3 years agoCleanup: use relative imports in bl_ui
Campbell Barton [Sat, 21 Oct 2017 01:41:42 +0000 (12:41 +1100)]
Cleanup: use relative imports in bl_ui

3 years agoFix T53109: denoising variance debug passes not working after recent changes.
Brecht Van Lommel [Fri, 20 Oct 2017 11:52:03 +0000 (13:52 +0200)]
Fix T53109: denoising variance debug passes not working after recent changes.

3 years agoFix compositor node links getting lost on file load for custom render passes.
Brecht Van Lommel [Fri, 20 Oct 2017 12:35:12 +0000 (14:35 +0200)]
Fix compositor node links getting lost on file load for custom render passes.

3 years agoFix T46163: NLA properties with drivers aren't displayed as having drivers
Joshua Leung [Fri, 20 Oct 2017 04:04:57 +0000 (17:04 +1300)]
Fix T46163: NLA properties with drivers aren't displayed as having drivers

While such drivers will generally get evaluated too late to be of much
use during animations, it can still be useful to allow using drivers to
control a whole bunch of NLA strip properties (i.e. syncing NLA strip
timings via a single property/control).

Keyframe insertion however is still not allowed on these properties
(and an error message will now be displayed when trying to do so,
instead of silently failing), as it is useless.

3 years agoCleanup: redundant casts
Campbell Barton [Fri, 20 Oct 2017 03:03:22 +0000 (14:03 +1100)]
Cleanup: redundant casts

3 years agoCleanup: replace gpencil tri vars w/ array
Campbell Barton [Thu, 19 Oct 2017 22:28:12 +0000 (09:28 +1100)]
Cleanup: replace gpencil tri vars w/ array

3 years agoCorrect last commit, use WM_exit
Campbell Barton [Thu, 19 Oct 2017 13:19:58 +0000 (00:19 +1100)]
Correct last commit, use WM_exit

Without this temp directory isn't removed.

3 years agoExit with invalid command line arguments
Campbell Barton [Thu, 19 Oct 2017 12:57:03 +0000 (23:57 +1100)]
Exit with invalid command line arguments

Loading blender with an unknown name would interpret it as a blend file.

This meant passing `--arg` arguments would end up creating new
blend files which could be confusing if you made a typo on a command
line argument.

Now check the string has a blend file extension,
exiting if it doesn't.

3 years agoAllow non-initialized memory to be passed to BKE_id_copy_ex
Sergey Sharybin [Thu, 19 Oct 2017 11:55:08 +0000 (13:55 +0200)]
Allow non-initialized memory to be passed to BKE_id_copy_ex

This only applies when LIB_ID_CREATE_NO_ALLOCATE flag is used and guarantees
that non-memset-zero memory can be used (or, that same memory chunk might be
used over and over again without need to clean it from the calleer).

3 years agoAdd note about handling of root nodetree in ID copydata.
Bastien Montagne [Thu, 19 Oct 2017 10:31:58 +0000 (12:31 +0200)]
Add note about handling of root nodetree in ID copydata.

OUr beloved root nodetrees... Had to check again the code to undersand
why we copy them with bmain even though they are not in bmain, so this
is worth a comment. ;)

3 years agoCycles: Add extra logging in CUDA device detection code
Sergey Sharybin [Thu, 19 Oct 2017 09:26:10 +0000 (11:26 +0200)]
Cycles: Add extra logging in CUDA device detection code

3 years agoCleanup: redundant comments
Campbell Barton [Thu, 19 Oct 2017 05:19:07 +0000 (16:19 +1100)]
Cleanup: redundant comments

Class names are readable, no need for explanations of each one.

3 years agoUI: 3D View, object menu
Campbell Barton [Thu, 19 Oct 2017 05:09:21 +0000 (16:09 +1100)]
UI: 3D View, object menu

Changes from D2876 by @meta-androcto /w own edits

- Move "Relations" into own menu.

3 years agoUI: 3D View, undo menu reorganization
Campbell Barton [Thu, 19 Oct 2017 04:38:34 +0000 (15:38 +1100)]
UI: 3D View, undo menu reorganization

Changes from D2876 by @meta-androcto /w own edits

Move 3x undo items into Undo menu,
these are such common operations they're typically accessed by keys.

Also add to menus which didn't have undo
(seemed random which modes had undo, undo history in their menus).

3 years agoUI: 3D View, minor menu reorganization
Campbell Barton [Thu, 19 Oct 2017 04:10:41 +0000 (15:10 +1100)]
UI: 3D View, minor menu reorganization

Changes from D2876 by @meta-androcto

- Move "Delete" to the first menu item in most toplevel menus.
- Add separators.
- Consistent order of Undo/Redo

3 years agoUI: 3D View Mesh "Select" menu reorganization
Campbell Barton [Thu, 19 Oct 2017 03:45:56 +0000 (14:45 +1100)]
UI: 3D View Mesh "Select" menu reorganization

Changes from D2876 by @meta-androcto /w own edits

- Move "Select Linked" into own menu.
- Move "Select Loop" into own menu.

3 years agoUI: 3D View "View" menu reorganization
Campbell Barton [Thu, 19 Oct 2017 01:35:58 +0000 (12:35 +1100)]
UI: 3D View "View" menu reorganization

Changes from D2876 by @meta-androcto /w own edits

- Move view axis & camera selection into "Viewpoint" menu.
- Move render border and clipping into border menu.
- Move Camera operators into own menu.
- View Selected was located in two menus,
  Only expose the "use_all_regions" version when quad-view is used.

3 years agoCleanup: pep8/line length
Campbell Barton [Thu, 19 Oct 2017 00:24:01 +0000 (11:24 +1100)]
Cleanup: pep8/line length

3 years agoDocs: correct descriptions
Campbell Barton [Thu, 19 Oct 2017 00:09:27 +0000 (11:09 +1100)]
Docs: correct descriptions

3 years agoFix part of T53038: principled BSDF clearcoat weight has no effect with 0 roughness.
Brecht Van Lommel [Wed, 18 Oct 2017 21:11:16 +0000 (23:11 +0200)]
Fix part of T53038: principled BSDF clearcoat weight has no effect with 0 roughness.

3 years agoFix mistake in new ID copy code in 'no allocate' case.
Bastien Montagne [Wed, 18 Oct 2017 15:11:29 +0000 (17:11 +0200)]
Fix mistake in new ID copy code in 'no allocate' case.

Spotted by @sergey, thanks.

3 years agoFix wrong comment (leftover from dev time).
Bastien Montagne [Wed, 18 Oct 2017 14:55:33 +0000 (16:55 +0200)]
Fix wrong comment (leftover from dev time).

3 years agoCycles: Fix wrong shading when some mesh triangle has non-finite coordinate
Sergey Sharybin [Wed, 18 Oct 2017 10:19:53 +0000 (12:19 +0200)]
Cycles: Fix wrong shading when some mesh triangle has non-finite coordinate

This is fully unpredictable for artists when one damaged object makes the whole
scene to render incorrectly. This involves two main changes:

- It is not enough to check triangle bounds to be valid when building BVH.
  This is because triangle might have some finite vertices and some non-finite.

- We shouldn't add non-finite triangle area to the overall area for MIS.

3 years agoCleanup: Use const for RNA EnumPropertyItem args
Campbell Barton [Wed, 18 Oct 2017 04:07:26 +0000 (15:07 +1100)]
Cleanup: Use const for RNA EnumPropertyItem args

Practically all access to enum data is read-only.

3 years agoFix T53098, T53079: OpenCL world texture errors after recent changes.
Brecht Van Lommel [Wed, 18 Oct 2017 01:11:03 +0000 (03:11 +0200)]
Fix T53098, T53079: OpenCL world texture errors after recent changes.

3 years agoMake auto handle placement aware of cyclic extrapolation.
Alexander Gavrilov [Tue, 17 Oct 2017 16:39:10 +0000 (19:39 +0300)]
Make auto handle placement aware of cyclic extrapolation.

Cyclic extrapolation is implemented as an f-curve modifier, so this
technically violates abstraction separation and is something of a hack.
However without such behavior achieving smooth looping with cyclic
extrapolation is extremely cumbersome.

The new behavior is applied when the first modifier is Cyclic
extrapolation in Repeat or Repeat with Offset mode without
using influence, repeat count or range restrictions.

This change in behavior means that curve handles have to be updated
when the modifier is added, removed or its options change. Due to the
way code is structured, it seems it requires a helper link to the
containing curve from the modifier object.

Reviewers: aligorith

Differential Revision:

3 years agoFix T52959: Local view looses clip range on exit
Campbell Barton [Tue, 17 Oct 2017 14:40:01 +0000 (01:40 +1100)]
Fix T52959: Local view looses clip range on exit

3 years agoFix T53074: Use the pybuffer->itemsize to get the corresponding GLtype
Germano [Tue, 17 Oct 2017 14:06:52 +0000 (12:06 -0200)]
Fix T53074: Use the pybuffer->itemsize to get the corresponding GLtype

It seems that `typestr` does not always define the final size of the element. And it varies by operating system.

Then use the `typestr` only to know the itemtype is `float` type or not.

3 years agoFix T53007: OpenSubdiv + transparency = artefact/crashes
Sergey Sharybin [Tue, 17 Oct 2017 10:12:15 +0000 (12:12 +0200)]
Fix T53007: OpenSubdiv + transparency = artefact/crashes

3 years agoGPU: Report number of compressed texture formats to help nailing crahs down in the...
Sergey Sharybin [Tue, 17 Oct 2017 09:53:15 +0000 (11:53 +0200)]
GPU: Report number of compressed texture formats to help nailing crahs down in the future

3 years agoGPU: Fix memory corruption in GPU_debug on GTX1080
Sergey Sharybin [Tue, 17 Oct 2017 09:51:05 +0000 (11:51 +0200)]
GPU: Fix memory corruption in GPU_debug on GTX1080

Number of texture formats is 51, which is greater than allowed size of 32.