Commit Graph

3715 Commits

Author SHA1 Message Date
Brecht Van Lommel
c6037b39a1 Fix slow .blend file load due to recent accidentally committed debug code. 2018-09-03 14:20:34 +02:00
Sergey Sharybin
cd693955ad Set active base to NULL if its object is gone 2018-09-03 13:42:47 +02:00
Sergey Sharybin
296a1afc0c Cleanup: Remove unused lay_updated
Is no longer used, having it around was more of a confusion than
anything else.
2018-09-03 12:17:55 +02:00
Luca Rood
e3d31b8dfb Cloth: Componentize forces
This separates cloth stiffness and damping forces into tension,
compression, and shearing components, allowing more control over the
cloth behaviour.

This also adds a bending model selector (although the new bending model
itself is not implemented in this commit). This is because some of the
features implemented here only make sense within the new bending model,
while the old model is kept for compatibility.

This commit makes non-breaking changes, and thus maintains full
compatibility with existing simulations.

Reviewed By: brecht

Differential Revision: http://developer.blender.org/D3655
2018-08-31 16:33:59 +02:00
Brecht Van Lommel
9f78f471d7 Workspaces: switch object mode when switching workspaces.
In the workspace properties a mode can now be configured that is
automatically enabled when switching to the workspace.

This is a test to validate how well it works. The weak point is
that if you don't have an appropriate object already select it will
not switch modes.

See T56475.
2018-08-30 16:10:03 +02:00
Antonioya
0845b1c8c8 GP: Improve Subdivide and Simplify
Now the weights are managed in the operators.

The subdivide operator and modifier code have been replaced with a shared function.

Some cleanup also.
2018-08-30 11:11:47 +02:00
Campbell Barton
0efecba957 Merge branch 'master' into blender2.8 2018-08-30 01:38:16 +10:00
Campbell Barton
39eb051616 Cleanup: indentation 2018-08-30 01:31:20 +10:00
Brecht Van Lommel
42f7767dab Cleanup: rename files from group to collection to match contents. 2018-08-29 16:25:50 +02:00
Bastien Montagne
4498fbeb2e Handle multi-hidden-layers when converting groups to collections.
That is kind of mandatory with complex rigged-character groups, with
hundreds of helper objects, and a few useful ones being hidden on
specific layers (like e.g. the main rig...).

It is especially critical point with static override, which won't allow
to move objects between collections and such (that would be a nightmare
to implement and handle).

Note that this is rather basic implementation, we could go further and
move all objects in all layers they are 'active', but that would
probably be overkill.

Reviewers: brecht

Subscribers: brecht

Differential Revision: https://developer.blender.org/D3649
2018-08-27 09:20:06 +02:00
Bastien Montagne
daebdcace0 Fix conversion from 2.7x groups to new 2.8 collections - hidden layers.
You cannot immediately add parent's library to newly generated hidden
child collection, since it would allow to get several of those hidden
collections with same name/library. That is strictly forbidden!

So rather loop again on collections after all hidden ones have been
generated, and assign children's library from parent one then.
2018-08-26 15:49:03 +02:00
Brecht Van Lommel
df6cd591f8 Fix a few unintended changes with new default startup.blend. 2018-08-21 18:39:44 +02:00
Brecht Van Lommel
dbcc96334a Fix wrong default properties editor tabs in default workspaces.
Remove most of the defaults versioning code now that there is a
startup.blend with those changes included.
2018-08-21 14:00:33 +02:00
Campbell Barton
7170ff429f Cleanup: trailing space 2018-08-21 17:18:42 +10:00
Brecht Van Lommel
444934632a Workspaces: add new default workspaces in startup.blend. 2018-08-20 16:23:22 +02:00
Brecht Van Lommel
c9abb0fe26 Workspaces: replace bundled workspace.blend with embedded startup.blend.
We want these to have the same workspaces in both, so there is no reason
to have two files that are identical.
2018-08-20 16:23:22 +02:00
Bastien Montagne
c2c4420f89 Fix T56450: Crash with bevel modifier.
POinters shall always be explicitely handled in modifier copying code,
as well as reading code! Runtime ones shall just be NULL-ed.
2018-08-19 16:57:53 +02:00
Sergey Sharybin
02dbe3b0c7 Multires: Synchronize settings with Subsurf modifier
Currently no functional changes, just exposes all settings which we need
for OpenSubdiv, similar to what Subsurf modifier is doing already.

Reviewers: brecht

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D3602
2018-08-14 12:02:21 +02:00
Sergey Sharybin
5c61be777f Subsurf: Introduce quality option
For users it defines how accurate vertex positions are in terms
of limit surface (as in, how close the vertices locations to the
condition when they are calculated for an infinitely subdivided
mesh).

This affects things like:

- Irregular vertices (joint of 3 or more edges)
- Crease

Keep quality value low for performance.

NOTE: Going higher does not necessarily mean real improvement
in quality, ideal case might be reached well before maximum
quality of 10. Quality of 3 is a good starting point.

Internally quality is translated directly to adaptive subdivision
level.

Reviewers: brecht

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D3599
2018-08-13 16:04:06 +02:00
Sergey Sharybin
517f58be3c Subsurf: Make uv boundaries easily extendible
This replaces old single toggle option to subdivide UVs with
an enum which can have more options. The usecase for this is
to be compatible with other software. But we also might choose
different subdivision type as default in the future.

DNA and underlying code supports all possible options, but
only the ones which are compatible with old subdivision code
are currently exposes.

Reviewers: brecht

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D3575
2018-08-13 12:37:46 +02:00
Brecht Van Lommel
74f4eb419c Cleanup: remove leftover game player code. 2018-08-08 20:18:54 +02:00
Campbell Barton
3d083f376b Fix T56255: Crash w/ collection access from Python 2018-08-07 12:45:01 +10:00
Antonioya
1ae77fe9c1 Grease Pencil: Set Lock Axis default to Y axis 2018-08-03 21:06:49 +02:00
Campbell Barton
29937dce8f Merge branch 'master' into blender2.8
Move 'View3D.flag3' options into 'gp_flag'.
2018-08-01 08:42:00 +10:00
Antonioya
ff1ca80f01 Set overlay default values 2018-07-31 15:57:11 +02:00
Campbell Barton
f06884b18a Cleanup: style, duplicate includes 2018-07-31 20:11:55 +10:00
Campbell Barton
ad5b611953 Cleanup: style 2018-07-31 19:21:04 +10:00
Antonioya
66da2f537a New Grease Pencil object for 2D animation
This commit merge the full development done in greasepencil-object branch and include mainly the following features.

- New grease pencil object.
- New drawing engine.
- New grease pencil modes Draw/Sculpt/Edit and Weight Paint.
- New brushes for grease pencil.
- New modifiers for grease pencil.
- New shaders FX.
- New material system (replace old palettes and colors).
- Split of annotations (old grease pencil) and new grease pencil object.
- UI adapted to blender 2.8.

You can get more info here:

https://code.blender.org/2017/12/drawing-2d-animation-in-blender-2-8/
https://code.blender.org/2018/07/grease-pencil-status-update/

This is the result of nearly two years of development and I want thanks firstly the other members of the grease pencil team: Daniel M. Lara, Matias Mendiola and Joshua Leung for their support, ideas and to keep working in the project all the time, without them this project had been impossible.

Also, I want thanks other Blender developers for their help, advices and to be there always to help me, and specially to Clément Foucault, Dalai Felinto, Pablo Vázquez and Campbell Barton.
2018-07-31 10:50:43 +02:00
Bastien Montagne
a3b6ae9fb9 Cleanup/Refactor: Move CurveCache runtime data into Object.runtime struct.
Also, fix missing cleanup of Object.runtime when copying Object
datablocks!
2018-07-30 16:58:44 +02:00
Bastien Montagne
27567a6c76 Fix T56020: Crash while opening .blend file made with older version.
We need a NULL workspace check here, in some cases we get a SRTemp
screen even though it's not tagged as temp...
2018-07-30 15:01:48 +02:00
Clément Foucault
4875958083 Cleanup: Remove occurances of GPULamp 2018-07-27 18:12:02 +02:00
Jeroen Bakker
70966af513 Workbench: option to change background
Replaced the draw world option with a shading.background_type enum.
Where the user can select Theme, World or a Custom color.

World and theme colors do not always work in workbench. We needed to
have an option what the user could control locally (per viewport).
Especially when using linked data.

I removed the world background drawing from the draw_manager. It was never used as EEVEE and Workbench both override the logic.

Not 100% sure about the naming of Theme, World, Viewport.
In other parts of blender's codebase World is sometimes called Scene.
Will stick to the names that describes its location best.

{F3990139}

Reviewers: fclem, campbellbarton

Reviewed By: fclem

Subscribers: venomgfx

Tags: #bf_blender_2.8

Differential Revision: https://developer.blender.org/D3551
2018-07-27 15:28:15 +02:00
Brecht Van Lommel
885cda65c9 Cycles: add per layer collection indirectly on setting.
In the outliner, right click > view layer > set indirect only. This is
like clearing camera ray visibility on objects in the collection, and is
temporary until we have more general dynamic overrides.
2018-07-25 16:45:46 +02:00
Brecht Van Lommel
b0077992d2 Cycles: add per layer collection mask/holdout support.
In the outliner, right click > view layer > set holdout. This is
temporary until we have more general dynamic overrides, but helps
Spring production for now.
2018-07-25 15:59:54 +02:00
Brecht Van Lommel
c4803759a2 Fix T55245: undo with multiple windows and view layers not working correct. 2018-07-24 11:27:05 +02:00
Clément Foucault
a50e23ba79 Fix compilation issue after merge. 2018-07-23 18:56:24 +02:00
Bastien Montagne
7d6776ba2d Fix missing header include in previous master merge. 2018-07-23 18:37:29 +02:00
Bastien Montagne
adbccae4b4 Merge branch 'master' into blender2.8
Note: Moved doversion of VSE strips uniquename to 2.8 versionning area,
and raised accordingly current file subversion, since that bug also
affected previous 2.8 .blend files...

Conflicts:
	source/blender/blenkernel/BKE_blender_version.h
2018-07-23 17:52:52 +02:00
Clément Foucault
87090abb95 Eevee: Remove Colored volumetric option.
This option is not necessary as it uses as much memory as the mono-chromatic
transmistance.
2018-07-23 17:44:34 +02:00
Bastien Montagne
bb98e83b99 Fix T55668: Volume Keyframe on Cut-ted Metastrip.
We actually still had cases of Meta strip duplication resulting in
non-unique strip names. Quiet surprising this went unoticed for so long. :(

Fixed that bug, and think it was last one (at least, no other case of
SEQ_DUPE_UNIQUE_NAME usage should be broken, I think...), and raised
subversion and updated doversion to run uniquename check on strips on
all previous fileversions.

Note: will have to do that again when merging in 2.8...
2018-07-23 17:42:55 +02:00
Clément Foucault
eae9228a4d Eevee: Lamps: Fix RNA defaults and change defaults for contact shadows 2018-07-20 22:21:44 +02:00
Bastien Montagne
ecfb74833d Merge branch 'master' into blender2.8 2018-07-20 12:13:58 +02:00
Bastien Montagne
710a059549 Cleanup: Move 'WAVEFORM_LOADING' of sounds from flags to tags.
This is purely runtime data, so move it to new tags. ;)
2018-07-20 12:11:34 +02:00
Bastien Montagne
f48e81e720 Fix T55414: waveforms are reprocessed when undoing
Add new tag to bSound (runtime flags), and make read code to set a 'no
reload waveform' new tag, since it uses a mapping to get existing
waveform in undo case...
2018-07-20 12:01:38 +02:00
Brecht Van Lommel
3d67819a17 Merge branch 'master' into blender2.8 2018-07-18 14:13:16 +02:00
Stefan Werner
bdda0964e0 Compositor: Cryptomatte compositing node.
This patch adds a new matte node that implements the Cryptomatte specification.
It also incluces a custom eye dropper that works outside of a color picker.
Cryptomatte export for the Cycles render engine will be in a separate patch.

Reviewers: brecht

Reviewed By: brecht

Subscribers: brecht

Tags: #compositing

Differential Revision: https://developer.blender.org/D3531
2018-07-18 13:03:34 +02:00
Clément Foucault
8cd7828792 GWN: Port to GPU module: Replace GWN prefix by GPU 2018-07-18 11:49:15 +02:00
Brecht Van Lommel
644fadf2f0 Render: add "OpenGL" render engine.
This is intended for quick renders for previsualization, animation previews
or sequencer previews. It provides the same settings as found in the 3D view
Shading popover in solid display mode, but in the scene render properties.

The "Workbench" engine was removed, and this name no longer appears in the
user interface, it's purely an internal name. We might come up with a better
name for this OpenGL engine still, but it's good to be consistent with the
OpenGL Render operator name since this has a similar purpose.
2018-07-17 16:46:09 +02:00
Brecht Van Lommel
7b3a18f0aa Cleanup: moving shading type into View3DShading.
So all shading settings are in this struct and can be reused in the OpenGL
render engine.
2018-07-17 14:59:07 +02:00
Clément Foucault
7a693626d6 Smoke: Port display to Workbench + object mode
This does not fix the smokesim. It only port the drawing method.

The Object mode engine is in charge of rendering the velocity debugging.

Things left to do:
- Flame rendering.
- Color Ramp coloring of volume data.
- View facing slicing (for now it's only doing sampling starting from the
  volume bounds which gives a squarish look)
- Add option to enable dithering (currently on by default.
2018-07-16 20:08:09 +02:00