21 months agoGPUTexture: Add debug print for cubemap textures
Clément Foucault [Tue, 11 Dec 2018 21:30:41 +0000 (22:30 +0100)]
GPUTexture: Add debug print for cubemap textures

21 months agoGPUTexture: Fix memory statistics not working for Multisamples textures
Clément Foucault [Tue, 11 Dec 2018 21:10:16 +0000 (22:10 +0100)]
GPUTexture: Fix memory statistics not working for Multisamples textures

and also output the vram footprint of the texture at the creation.

Also output the full texture memory usage if alloc fails.

21 months agoDRW: Fix redundant texture creation
Clément Foucault [Tue, 11 Dec 2018 20:25:17 +0000 (21:25 +0100)]
DRW: Fix redundant texture creation

21 months agoGPUState: Remove glLineWidth warnings about size 0x0
Clément Foucault [Tue, 11 Dec 2018 20:15:39 +0000 (21:15 +0100)]
GPUState: Remove glLineWidth warnings about size 0x0

21 months agoGPUTexture: Add debug output to check what texture was created
Clément Foucault [Tue, 11 Dec 2018 20:14:52 +0000 (21:14 +0100)]
GPUTexture: Add debug output to check what texture was created

21 months agoUI: fix enum icon buttons haveing different size.
Harley Acheson [Tue, 11 Dec 2018 10:23:13 +0000 (11:23 +0100)]
UI: fix enum icon buttons haveing different size.

The alignment makes it so the button edges overlap, now one pixel is removed
to account for this.

Differential Revision:

21 months agoFFmpeg: enable multi-threaded encoding of multiple frames, for a ~20% speedup.
Mal Duffin [Tue, 11 Dec 2018 19:38:01 +0000 (20:38 +0100)]
FFmpeg: enable multi-threaded encoding of multiple frames, for a ~20% speedup.

This enables ffmpeg to encode each frame in its own thread. However in most
cases Blender does not pass frames to ffmpeg fast enough to actually use the
more than two threads. In some tests the speed was measured to be about 20%.
If other parts of the video sequencer get optimized, this should improve.

Differential Revision:

21 months agoRNA: provide access to bone parent transform math from Python.
Alexander Gavrilov [Sat, 8 Dec 2018 06:17:57 +0000 (09:17 +0300)]
RNA: provide access to bone parent transform math from Python.

Applying the effect of bone parent is much more complicated than
simple matrix multiplication because of the various flags like
Inherit Scale. Thus it is reasonable to provide access to this
math from Python for complicated rest pose related manipulations.

The simple case of this is handled by Object.convert_space, so
the new method is only needed for complex tasks.

Differential Revision:

21 months agoEdit Mesh: Make edit cage stick to the mesh when possible
Clément Foucault [Tue, 11 Dec 2018 17:21:12 +0000 (18:21 +0100)]
Edit Mesh: Make edit cage stick to the mesh when possible

and correctly offset it when it's not possible, otherwise we get zfighting.

21 months agoDRW: Add polygon offset mode.
Clément Foucault [Tue, 11 Dec 2018 17:18:36 +0000 (18:18 +0100)]
DRW: Add polygon offset mode.

21 months agoFix T58266 : Bottom half of meshes are transparent with eevee render
Clément Foucault [Tue, 11 Dec 2018 12:29:32 +0000 (13:29 +0100)]
Fix T58266 : Bottom half of meshes are transparent with eevee render

21 months agoMerge branch 'master' into blender2.8
Sergey Sharybin [Tue, 11 Dec 2018 14:56:04 +0000 (15:56 +0100)]
Merge branch 'master' into blender2.8

21 months agoUpdate code to be compatible with OIIO 2.0
Sergey Sharybin [Tue, 11 Dec 2018 11:17:26 +0000 (12:17 +0100)]
Update code to be compatible with OIIO 2.0

There are some changes in API of OpenImageIO, but those are quite
simple to keep working with older and newer library versions.

Reviewers: brecht

Reviewed By: brecht

Differential Revision:

21 months agoFix T59001: UV Editor - Crash when hiding all UVs while 3D view is open
Philipp Oeser [Tue, 11 Dec 2018 13:50:03 +0000 (14:50 +0100)]
Fix T59001: UV Editor - Crash when hiding all UVs while 3D view is open
and sync selection enabled

Reviewers: brecht

Maniphest Tasks: T59001

Differential Revision:

21 months agoImplement BMesh.from_object
Philipp Oeser [Tue, 11 Dec 2018 12:55:42 +0000 (13:55 +0100)]
Implement BMesh.from_object

Fixes T59069

Reviewers: sergey, brecht

Maniphest Tasks: T59069

Differential Revision:

21 months agoMerge branch 'master' into blender2.8
Brecht Van Lommel [Tue, 11 Dec 2018 14:18:43 +0000 (15:18 +0100)]
Merge branch 'master' into blender2.8

21 months agoCleanup: remove accidentally committed debug code.
Brecht Van Lommel [Tue, 11 Dec 2018 14:18:01 +0000 (15:18 +0100)]
Cleanup: remove accidentally committed debug code.

21 months agoCycles: Add strict assert when assigning input socket stack offset
Sergey Sharybin [Tue, 11 Dec 2018 13:34:28 +0000 (14:34 +0100)]
Cycles: Add strict assert when assigning input socket stack offset

21 months agoCycles: Remove old nasty workaround
Sergey Sharybin [Tue, 11 Dec 2018 13:33:24 +0000 (14:33 +0100)]
Cycles: Remove old nasty workaround

It used to be used for some sort of ignoring automatically
generated bump nodes. But nowadays it causes one of the shaders
in Classroom demo file to be compiled wrong.

21 months agoFix macOS buildbot build, wrong CUDA version check.
Brecht Van Lommel [Tue, 11 Dec 2018 13:14:52 +0000 (14:14 +0100)]
Fix macOS buildbot build, wrong CUDA version check.

21 months agoCycles: Cleanup, indentation
Sergey Sharybin [Tue, 11 Dec 2018 11:57:57 +0000 (12:57 +0100)]
Cycles: Cleanup, indentation

21 months agoFix crash in do-versions after recent changes
Sergey Sharybin [Tue, 11 Dec 2018 11:44:29 +0000 (12:44 +0100)]
Fix crash in do-versions after recent changes

No one can simply go into a datablock before it was linked.

21 months agoProper fix for building without Bullet
Sergey Sharybin [Tue, 11 Dec 2018 11:37:04 +0000 (12:37 +0100)]
Proper fix for building without Bullet

Stick to an existing way of dealing with disabled feature.

21 months agoFix T59174: Missing particles update
Sergey Sharybin [Tue, 11 Dec 2018 10:15:12 +0000 (11:15 +0100)]
Fix T59174: Missing particles update

21 months agoFix T59005: no FCurve cleanup in the Timeline
Philipp Oeser [Mon, 10 Dec 2018 16:05:51 +0000 (17:05 +0100)]
Fix T59005: no FCurve cleanup in the Timeline

as opposed to the 'real' Dopesheet e.g. keyframes were not merged when
placed on the same frame

Reviewers: brecht, aligorith, angavrilov

Maniphest Tasks: T59005

Differential Revision:

21 months agoFix T53166: Shift click gizmo axis lock broken
Campbell Barton [Tue, 11 Dec 2018 05:42:00 +0000 (16:42 +1100)]
Fix T53166: Shift click gizmo axis lock broken

21 months agoCleanup: use BKE_object_* prefix for object API
Campbell Barton [Tue, 11 Dec 2018 04:08:18 +0000 (15:08 +1100)]
Cleanup: use BKE_object_* prefix for object API

Also minor style cleanup.

21 months agoFix T57934: non-empty duplicators don't render
Campbell Barton [Tue, 11 Dec 2018 04:02:58 +0000 (15:02 +1100)]
Fix T57934: non-empty duplicators don't render

Convert non-empty duplicators to empties.

21 months agoDNA: version patch Camera.drawsize to twice it's value
Campbell Barton [Tue, 11 Dec 2018 03:30:24 +0000 (14:30 +1100)]
DNA: version patch Camera.drawsize to twice it's value

Draw size represented half the actual size used.

21 months agoMerge branch 'master' into blender2.8
Campbell Barton [Tue, 11 Dec 2018 03:05:16 +0000 (14:05 +1100)]
Merge branch 'master' into blender2.8

21 months agoFix T59161: Edge Rotate CW is CCW
Campbell Barton [Tue, 11 Dec 2018 03:03:42 +0000 (14:03 +1100)]
Fix T59161: Edge Rotate CW is CCW

21 months agoGizmo: update camera ortho-size
Campbell Barton [Tue, 11 Dec 2018 02:19:44 +0000 (13:19 +1100)]
Gizmo: update camera ortho-size

This needs to be improved further,
for now it shows in the right location.

21 months agoMerge branch 'master' into blender2.8
Campbell Barton [Tue, 11 Dec 2018 02:10:56 +0000 (13:10 +1100)]
Merge branch 'master' into blender2.8

21 months agoFix T52051: Orthographic camera display size error
Campbell Barton [Tue, 11 Dec 2018 02:02:39 +0000 (13:02 +1100)]
Fix T52051: Orthographic camera display size error

It was impractical to create a small orthographic camera with a usable
size in the view-port.

No longer scale the draw-size by ortho-size.

21 months agoFix T58850: NDOF navigation guide not shown
Campbell Barton [Tue, 11 Dec 2018 01:34:37 +0000 (12:34 +1100)]
Fix T58850: NDOF navigation guide not shown

21 months agoWorkbench: Fix shadow artifact caused by degenerate triangles
Clément Foucault [Tue, 11 Dec 2018 00:23:32 +0000 (01:23 +0100)]
Workbench: Fix shadow artifact caused by degenerate triangles

Fixes T58735 Incorrect workbench shadow from n-gons

This also optimize the degenerate triangle detection by searching if
their area is near 0.0.

21 months agoFix building w/o bullet
Campbell Barton [Mon, 10 Dec 2018 23:07:43 +0000 (10:07 +1100)]
Fix building w/o bullet

21 months agoDRW: Deprecate / Remove DRW_STATE_STIPPLE_*
Clément Foucault [Mon, 10 Dec 2018 22:17:07 +0000 (23:17 +0100)]
DRW: Deprecate / Remove DRW_STATE_STIPPLE_*

This was unused and used the old drawing paradygm

21 months agoObject Mode: Make point clouds a bit less like uniform blobs
Clément Foucault [Mon, 10 Dec 2018 22:16:03 +0000 (23:16 +0100)]
Object Mode: Make point clouds a bit less like uniform blobs

Also this display is optimized. It does not use blending and pixel discard.
Working with scanned data should be more pleasant with this.

A better option would be to use gl_FragDepth to have a better sense of
volume but this discards early depth test.

21 months agoGP: Fix problems with stroke Caps
Antonioya [Mon, 10 Dec 2018 19:04:17 +0000 (20:04 +0100)]
GP: Fix problems with stroke Caps

Now the start cap is done and during drawing the end cap is not set because needs to have a UV calculated and this is not done while drawing.

21 months agoGP: Set Brush default material when add new GP Object
Antonioya [Mon, 10 Dec 2018 15:54:49 +0000 (16:54 +0100)]
GP: Set Brush default material when add new GP Object

Before the brush color was not set equal to object active color.

21 months agoGP: Remove Object Onion Skin switch
Antonioya [Mon, 10 Dec 2018 15:42:40 +0000 (16:42 +0100)]
GP: Remove Object Onion Skin switch

It was confusing to have two switches.

21 months agoGP: Replace Clamp icon
Antonioya [Mon, 10 Dec 2018 15:21:12 +0000 (16:21 +0100)]
GP: Replace Clamp icon

21 months agoGP: Make Onion Skin ON as default RNA value
Antonioya [Mon, 10 Dec 2018 13:33:10 +0000 (14:33 +0100)]
GP: Make Onion Skin ON as default RNA value

21 months agoGP: Enable Object Onion Skin by default
Antonioya [Mon, 10 Dec 2018 09:41:47 +0000 (10:41 +0100)]
GP: Enable Object Onion Skin by default

Now, the main switchis on, and the layer onion skin is off.

21 months agoEdit Mesh: Opti: Reduce max_vertices in geometry shader
Clément Foucault [Mon, 10 Dec 2018 17:56:12 +0000 (18:56 +0100)]
Edit Mesh: Opti: Reduce max_vertices in geometry shader

This is a really small win that had been overlooked when optimizing the

21 months agoEdit Mesh: Fix edges poking through the verts points in xray/seethrough mode
Clément Foucault [Mon, 10 Dec 2018 17:51:57 +0000 (18:51 +0100)]
Edit Mesh: Fix edges poking through the verts points in xray/seethrough mode

21 months agoEdit Mesh: Make "fresnel effect" not transparent but mix between 2 colors
Clément Foucault [Mon, 10 Dec 2018 17:30:37 +0000 (18:30 +0100)]
Edit Mesh: Make "fresnel effect" not transparent but mix between 2 colors

Alpha blending is causing too many issues.
Revert back to something simpler.

21 months agoEdit Mesh: Draw inner edge selected in vert edit mode if both verts selected
Clément Foucault [Mon, 10 Dec 2018 15:18:08 +0000 (16:18 +0100)]
Edit Mesh: Draw inner edge selected in vert edit mode if both verts selected

This only make the edge fully selected. There is still no gradient like in
2.79 when only one vertex is selected.

21 months agoDRW: Batch Cache: Mesh: Port edit mesh batches to batch request method
Clément Foucault [Mon, 10 Dec 2018 14:29:04 +0000 (15:29 +0100)]
DRW: Batch Cache: Mesh: Port edit mesh batches to batch request method

This also do some renaming/cleanups.

21 months agoDRW: Batch Cache: Mesh: Port more batches to batch request method
Clément Foucault [Sun, 9 Dec 2018 10:21:23 +0000 (11:21 +0100)]
DRW: Batch Cache: Mesh: Port more batches to batch request method

21 months agoDRW: Batch Cache: Add batch request system
Clément Foucault [Sat, 8 Dec 2018 19:10:20 +0000 (20:10 +0100)]
DRW: Batch Cache: Add batch request system

This makes it possible for engines to ask for batches and only fill their
data after all engine populate functions have run.
This means that, when creating the batches data we already know all the
batches that are needed for this redraw and the needed data.

This allows for less redundant data preparation and better attrib masking.
Ideally, we should run all viewports populate function before executing
the batch construction but this is not the scope of this patch.

Conversion from the old request method will be progressive and both can
coexist (see uses of mesh_create_pos_and_nor()).

21 months agoGPU: Make changes to GPUIndexBuf and GPUVertBuf to allow multithreading
Clément Foucault [Sat, 8 Dec 2018 17:15:57 +0000 (18:15 +0100)]
GPU: Make changes to GPUIndexBuf and GPUVertBuf to allow multithreading

This is a small change. We delay all gl calls at the first use of the
GPUIndexBuf / GPUVertBuf in order to be able to create multiple buffers
from different threads without having many gl contexts.

21 months agoGPU: Cleanup: Rename vbo to ibo for index buffers
Clément Foucault [Sat, 8 Dec 2018 14:53:23 +0000 (15:53 +0100)]
GPU: Cleanup: Rename vbo to ibo for index buffers

21 months agoFix T58932: Impossible to influence the particle system
Sergey Sharybin [Mon, 10 Dec 2018 16:37:30 +0000 (17:37 +0100)]
Fix T58932: Impossible to influence the particle system

21 months agoFix T58928: New Action causes crash when duplicating bone
Sergey Sharybin [Mon, 10 Dec 2018 14:59:15 +0000 (15:59 +0100)]
Fix T58928: New Action causes crash when duplicating bone

Basically, armature update is not supposed to be run in edit mode.
This worked in master and new dependency graph because nobody was
tagging armature for an update.

But with all those copy-on-write and other things we can't ensure
tag doesn't happen (and we shouldn't). So now we ensure unwanted
code is not run from the code itself.

P.S. Deeper reason of this goes to the optimization of not updating
pose channels when in edit mode. Since pose doesn't define anything
there we don't want to be bothered with a pose update after every
operation which changes it.

21 months agoCycles: Restore properties in the interface
Sergey Sharybin [Mon, 10 Dec 2018 14:54:15 +0000 (15:54 +0100)]
Cycles: Restore properties in the interface

They got lost in one of the merges it seems.

21 months agoCleanup: Variable naming
Sergey Sharybin [Mon, 10 Dec 2018 14:42:18 +0000 (15:42 +0100)]
Cleanup: Variable naming

21 months agoTweak UI message of Ruler tool.
Bastien Montagne [Mon, 10 Dec 2018 14:52:42 +0000 (15:52 +0100)]
Tweak UI message of Ruler tool.

It's much simpler to just click on one end, than dragging it outside of
view. ;)

Related to T59084.

21 months agoFix T57633: Particle texture update problem
Sergey Sharybin [Mon, 10 Dec 2018 14:09:46 +0000 (15:09 +0100)]
Fix T57633: Particle texture update problem

Textures are now hooked up to the RESET operation of particle
settings, which ensures particles being re-distributed when
texture is changed.

This is limited to a direct user modifications, which matches
old behavior in 2.79.

21 months agoCleanup: Someone forgot again to do the versioning_280 handling when bumping subversion.
Bastien Montagne [Mon, 10 Dec 2018 14:06:46 +0000 (15:06 +0100)]
Cleanup: Someone forgot again to do the versioning_280 handling when bumping subversion.

Seriously... There is no point in having those subversions if one does
not take advantage of them to reduce doversion work on file load! Now we
have to raise subversion again just for that. :(

21 months agoProper fix for rigidbody collections's objects missing rb data.
Bastien Montagne [Mon, 10 Dec 2018 14:01:32 +0000 (15:01 +0100)]
Proper fix for rigidbody collections's objects missing rb data.

We cannot let those data be generated on-the-fly in RBW evaluation
anymore, since those would be added to CoW eval object and never ported
back to orig objects.

We *could* get orig objects in eval code, of course, but as in
constratints, this is not really threadsafe and future proof, depsgraph
evaluation should really write back to orig data as little as possible.

So instead, add code to ensure required data is generated to objects
when their collection is added to rigidbody world.

Note that we *may* want to clean that up once collection is no more used
by RB? On the other hand, people might want to keep those data around to
be able to switch between different setups easily... So think it's OK to
keep them at least for now.

21 months agoFix T58993: Duplicating after setting a rigid body world crashes Blender.
Bastien Montagne [Mon, 10 Dec 2018 13:10:12 +0000 (14:10 +0100)]
Fix T58993: Duplicating after setting a rigid body world crashes Blender.

There is no guarantee that object in rigidbody collection already have a
valid rgigidbody data when rebuilding deg relations, that is often
generated on-the-fly by actual rigid body simulation.

Note that this can be an issue when generating deg relations I guess...
But at least it won't crash anymore.

21 months agoFix part of T58964: Changing driver path/array index crashes
Sergey Sharybin [Mon, 10 Dec 2018 13:50:05 +0000 (14:50 +0100)]
Fix part of T58964: Changing driver path/array index crashes

The issue here is that in the new dependency graph drivers are
individual nodes which depends on what they are driving. This
means that changes to RNA path or property index should ensure
those nodes are updated. Easiest way to do so is to tag relations
for update.

21 months agoFix T59087: Empty meshes have large bound-box
Campbell Barton [Mon, 10 Dec 2018 08:27:49 +0000 (19:27 +1100)]
Fix T59087: Empty meshes have large bound-box

Initialize to default values for meshes w/o vertices,
note that zeroing for BKE_object_boundbox_calc_from_mesh
matches old derived mesh code.

21 months agoFix T59107: F3 does not work in Python console
Campbell Barton [Mon, 10 Dec 2018 06:33:36 +0000 (17:33 +1100)]
Fix T59107: F3 does not work in Python console

21 months agoFix T57086: Offset Even option is unclickable
Campbell Barton [Mon, 10 Dec 2018 05:51:53 +0000 (16:51 +1100)]
Fix T57086: Offset Even option is unclickable

21 months agoMerge branch 'master' into blender2.8
Campbell Barton [Mon, 10 Dec 2018 01:45:38 +0000 (12:45 +1100)]
Merge branch 'master' into blender2.8

21 months agoMerge branch 'master' into blender2.8
Campbell Barton [Mon, 10 Dec 2018 01:44:24 +0000 (12:44 +1100)]
Merge branch 'master' into blender2.8

21 months agoFix T53544: Undo in pose mode selects all fcurves
Campbell Barton [Mon, 10 Dec 2018 01:30:41 +0000 (12:30 +1100)]
Fix T53544: Undo in pose mode selects all fcurves

21 months agoDNA: add runtime struct to for graph & action editor
Campbell Barton [Mon, 10 Dec 2018 00:46:36 +0000 (11:46 +1100)]
DNA: add runtime struct to for graph & action editor

Move struct members, no functional change

21 months agoMerge branch 'master' into blender2.8
Bastien Montagne [Sun, 9 Dec 2018 20:51:23 +0000 (21:51 +0100)]
Merge branch 'master' into blender2.8


21 months agoFix T59059: Blender crashing after adding particle system and dynamic paint (Brush).
Bastien Montagne [Sun, 9 Dec 2018 20:48:37 +0000 (21:48 +0100)]
Fix T59059: Blender crashing after adding particle system and dynamic paint (Brush).

Looks like this bug has been there since ages (at least present before
2.79 official release...).

21 months agoSimplified #ifdef to not silently fail on certain platforms
Sybren A. Stüvel [Sun, 9 Dec 2018 18:24:12 +0000 (19:24 +0100)]
Simplified #ifdef to not silently fail on certain platforms

21 months agoUser Interface: Add button color for indicating that the value differs from the inter...
Lukas Stockner [Fri, 7 Dec 2018 02:26:20 +0000 (03:26 +0100)]
User Interface: Add button color for indicating that the value differs from the interpolated one

One issue that especially newer users often run into is that they accidentally reset changes to the scene by switching frame without creating a keyframe first.

Therefore, this commit adds a new color that is used to draw properties if their current value differs from the one that would be set when switching to this frame.
This works both for existing keyframes as well as for currently interpolated frames.

Unfortunately the flags in but->flag are full, so I had to move the new flag to but->drawflag and pass that to all relevant functions.

I went with orange for the color since afaics it fits with the green and yellow that are currently used for keyframe states and since it's somewhat reddish to signify that there might be something to look out for here.

Reviewers: campbellbarton, #user_interface, brecht

Reviewed By: campbellbarton

Subscribers: brecht, predoe

Differential Revision:

21 months agoFix T51057 Modifiers lose bevel weight and crease
Howard Trickey [Sat, 8 Dec 2018 12:39:46 +0000 (06:39 -0600)]
Fix T51057 Modifiers lose bevel weight and crease

This is for 2.80 (though bug I mistakenly merged into was for 2.78.
Duplicate bugs T58127, T58411, T58440, and T58789 all fixed.
Bevel weights and crease are not real Mesh layers so get lost
on coversion of mesh to bmesh unelss the mesh's cd_flag member
tells the converter to create layers for them.
Most code the copies or partially copies meshes uses
mesh_new_nomain_from_template_ex, so copied the flag there.

21 months agoFix T58950: wireframe/orthographic/front/side/topview crash 2.8
Clément Foucault [Sat, 8 Dec 2018 10:32:45 +0000 (11:32 +0100)]
Fix T58950: wireframe/orthographic/front/side/topview crash 2.8

21 months agoShrinkwrap: use polygon normals for flat faces in Align To Normal.
Alexander Gavrilov [Wed, 5 Dec 2018 17:24:05 +0000 (20:24 +0300)]
Shrinkwrap: use polygon normals for flat faces in Align To Normal.

Hit normal originates from tesselated triangles and isn't the
actual normal used for shading of flat faces. Thus, it is better
to use the actual polygon normals when available.

21 months agoCleanup: style
Campbell Barton [Sat, 8 Dec 2018 04:01:47 +0000 (15:01 +1100)]
Cleanup: style

21 months agoFix T58949: Transform feedback shaders not having fragment shader
Clément Foucault [Fri, 7 Dec 2018 20:19:02 +0000 (21:19 +0100)]
Fix T58949: Transform feedback shaders not having fragment shader

21 months agoUI: Fix typo in hostname stamp tooltip
Pablo Vazquez [Fri, 7 Dec 2018 19:40:24 +0000 (20:40 +0100)]
UI: Fix typo in hostname stamp tooltip

Also change the part "running Blender" for "that rendered the frame".

21 months agoFix T58360 "Use object as pivot" in GP "Shadow effect" crashes Blender
Antonioya [Fri, 7 Dec 2018 19:01:01 +0000 (20:01 +0100)]
Fix T58360 "Use object as pivot" in GP "Shadow effect" crashes Blender

21 months agoMove static `get_hostname()` to `BLI_hostname()` in `system.c`
Sybren A. Stüvel [Fri, 7 Dec 2018 16:36:40 +0000 (17:36 +0100)]
Move static `get_hostname()` to `BLI_hostname()` in `system.c`

This makes the `#include <Windows.h>` use more localised and out of the
`image.c` file.

Reviewers: LazyDodo

Reviewed by: LazyDodo

Differential revision:

21 months agoFix modifiers evaluation outside of depsgraph/CoW context.
Bastien Montagne [Fri, 7 Dec 2018 14:45:53 +0000 (15:45 +0100)]
Fix modifiers evaluation outside of depsgraph/CoW context.

Fix T58237: Exporters: Curve Modifier not applied when "apply modifiers" are selected.
Fix T58856: Python: "to_mesh" broken in 2.8.

...And many other cases... ;)

Thing is, we need target IDs to always be evaluated ones (at least I
cannot see any case where having orig ones is desired effect here).
Depsgraph/Cow system ensures us that when modifiers are evaluated by it,
but they can also be called outside of this context, e.g. when doing
binding, or object conversion...

So we need to ensure in modifiers code that we actually are always
working with eval data for those targets.

Note that I did not touch to physics modifiers, those are a bit touchy
and rather not 'fix' something there until proven broken!

21 months agoRemove unused particle system recalc flag
Sergey Sharybin [Fri, 7 Dec 2018 17:04:13 +0000 (18:04 +0100)]
Remove unused particle system recalc flag

21 months agoRemove obscure debug-only print
Sergey Sharybin [Fri, 7 Dec 2018 17:02:14 +0000 (18:02 +0100)]
Remove obscure debug-only print

The message is not clear for users, and is set for modifier already.

21 months agoFix selected to active Cycles Baking
Dalai Felinto [Fri, 7 Dec 2018 14:15:01 +0000 (12:15 -0200)]
Fix selected to active Cycles Baking

Since we started using looptris we no longer need a triangulation
modifier in the highpoly object. In fact having was causing a bug
where baking would be utterly broken.

This fix normal baking. Combined pass still needs a fix to hide the
objects during baking.

21 months agoCleanup, typo in naming
Sergey Sharybin [Fri, 7 Dec 2018 16:30:19 +0000 (17:30 +0100)]
Cleanup, typo in naming

\Something went wrong in the rename script..

21 months agoMetadata: add hostname to the available metadata options
Sybren A. Stüvel [Fri, 7 Dec 2018 16:28:38 +0000 (17:28 +0100)]
Metadata: add hostname to the available metadata options

Having the hostname allows us to identify which machine rendered which
frame in our render farm.

This simply uses the host's name, and doesn't do any DNS lookup of any
IP address of the machine. As such, it's only usable for identification
purposes, and not for reachability over a network.

Reviewers: sergey, brecht

Reviewed By: sergey

Differential Revision:

21 months agoMerge branch 'master' into blender2.8
Philipp Oeser [Fri, 7 Dec 2018 15:42:36 +0000 (16:42 +0100)]
Merge branch 'master' into blender2.8

21 months agoFix T57994: Particle Instance modifiers 'Index Layer' off by one
Philipp Oeser [Thu, 22 Nov 2018 10:52:38 +0000 (11:52 +0100)]
Fix T57994: Particle Instance modifiers 'Index Layer' off by one

better have this vertex color layer cover the whole 0-1 range

thx @sergey for checking

Maniphest Tasks: T57994

Differential Revision:

21 months agoadd 'Control Points' and 'Segments' editmode menus for Surfaces
Philipp Oeser [Fri, 7 Dec 2018 13:57:54 +0000 (14:57 +0100)]
add 'Control Points' and 'Segments' editmode menus for Surfaces

Fixes T58922

Reviewers: brecht, billreynish

Maniphest Tasks: T58922

Differential Revision:

21 months agoMerge branch 'master' into blender2.8
Sergey Sharybin [Fri, 7 Dec 2018 14:00:48 +0000 (15:00 +0100)]
Merge branch 'master' into blender2.8

21 months agoUpdate BVHTree.FromObject API, remove render argument
Dalai Felinto [Fri, 7 Dec 2018 13:54:24 +0000 (11:54 -0200)]
Update BVHTree.FromObject API, remove render argument

This information should come from the depsgraph.

21 months agoCycles: Do more user-friendly indication that GPU devices are not found
Sergey Sharybin [Fri, 7 Dec 2018 13:47:35 +0000 (14:47 +0100)]
Cycles: Do more user-friendly indication that GPU devices are not found

21 months agoCycles: Disable OpenCL on macOS
Sergey Sharybin [Fri, 7 Dec 2018 13:37:47 +0000 (14:37 +0100)]
Cycles: Disable OpenCL on macOS

This is unfortunate, but the number of bugs in this configuration
keeps growing, and almost all of them are caused by bug in OpenCL

The compiler is not likely to be fixed, since Apple declared OpenCL

This evil commit is aimed to keep officially supported features
of Blender in a good working and stable state.

21 months agoFix T58902: error getting tools for Image Editor (modes Paint and Mask)
Philipp Oeser [Fri, 7 Dec 2018 10:24:09 +0000 (11:24 +0100)]
Fix T58902: error getting tools for Image Editor (modes Paint and Mask)

Maniphest Tasks: T58902

Differential Revision:

21 months agoFix T57640: UV unwrap packing not working without sync selection.
Brecht Van Lommel [Fri, 7 Dec 2018 12:52:14 +0000 (13:52 +0100)]
Fix T57640: UV unwrap packing not working without sync selection.

21 months agoPartial fix to T58917 - No valid cage
Dalai Felinto [Fri, 7 Dec 2018 12:41:57 +0000 (10:41 -0200)]
Partial fix to T58917 - No valid cage

The fix itself simply is to store the cage object as a pointer instead
of a string/name.

That said baking with or without cage is yielding very different results
than in 2.7.

21 months agoGP: Refactor coordinates to float
Charlie Jolly [Wed, 5 Dec 2018 18:48:27 +0000 (18:48 +0000)]
GP: Refactor coordinates to float

See: D4030

Differential Revision: