Commit Graph

3544 Commits

Author SHA1 Message Date
Bastien Montagne
cd5ee24656 Operators: add a new flag stating that operator needs access to evaluated data.
For now, that flag is only used in redo code, since after undo step
depsgraph is totally empty... We *may* want to add at least an assert in
op calling code too, though?
2018-08-03 10:15:34 +02:00
Campbell Barton
3a93314753 Tool System: initial particle system support 2018-08-02 19:27:26 +10:00
Clément Foucault
7e0eb0d071 GPUFrameBuffer: Put active framebuffer in GPUContext
instead of being ThreadLocal and leading to incorrect usage.

We still enforce no framebuffer when changing context. We can lift this
restriction later.
2018-07-31 18:21:23 +02:00
Campbell Barton
31fcd40efd Cleanup: use static variables 2018-07-31 20:45:43 +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
Campbell Barton
5300ba0ba5 Merge branch 'master' into blender2.8 2018-07-31 17:03:28 +10:00
Campbell Barton
21f61cbe73 BLF: replace global aa pref w/ monochrome flag
Now disabling anti-aliasing doesn't impact sequencer, render stamp etc.
2018-07-31 16:57:05 +10:00
Joshua Leung
d28248595b Silencing a bunch of compiler warnings
Most of these were mismatched const qualifiers
2018-07-31 03:04:32 +12:00
Campbell Barton
629403fb51 WM: remove duplicate ui-list functions
Missed when moving into own file.

Caused issues on MSVC, not GCC.
2018-07-26 14:47:48 +10:00
Campbell Barton
2e12114f3b Merge branch 'master' into blender2.8 2018-07-26 14:45:14 +10:00
Campbell Barton
dbd79c097c WM: Add operator property poll callback
This allows operators to filter out properties from the
auto-generated draw functions.

Some custom draw functions can move to using this.
2018-07-26 11:53:53 +10:00
Campbell Barton
d8514482fe WM: keymap utility to set enum from a key range 2018-07-25 11:00:03 +10:00
Brecht Van Lommel
7f7e51161f Fix T56079: crash with startup.blend saved in sculpt/paint modes.
This reverts commit 81a93df6d2, it is not safe
to handle initialization for startup.blend differently. Instead fix the root
issue of the preview icon data structures not being initialized in time.
2018-07-24 12:43:21 +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
8876e3aae2 Fix assert when loading file with multiple windows opened
... or when loading a file when having more windows opened than the file
itself.
2018-07-23 17:44:34 +02:00
Brecht Van Lommel
b3b4b9fb8c Fix WITH_HEADLESS build. 2018-07-20 15:25:47 +02:00
Clément Foucault
94722121e5 Fix MSVC compilation error in a less hacky way 2018-07-19 17:20:48 +02:00
Clément Foucault
44c7a7cf8b Fix compilation error with MSVC 2018-07-19 17:18:19 +02:00
Clément Foucault
5037dd8abd GPU: Add GC to FBOs and UBOs and centralize all GCs
GPUFrameBuffers were being free when no context was attached or in the
wrong gl context. This make sure this does not happen again.

You can now safely free any gl resource from any thread (well as long as
it's not used anymore!).
2018-07-19 16:13:15 +02:00
Clément Foucault
8cd7828792 GWN: Port to GPU module: Replace GWN prefix by GPU 2018-07-18 11:49:15 +02:00
Clément Foucault
247ad2034d GWN: Port to GPU module: Move files to GPU
This does not include all the struct and type renaming. Only files were
renamed.

gwn_batch.c/h was fusioned with GPU_batch.c/h
gwn_immediate.c/h was fusioned with GPU_immediate.c/h
gwn_imm_util.c/h was fusioned with GPU_immediate_util.c/h
2018-07-18 00:17:57 +02:00
Brecht Van Lommel
de2f1c64fe Merge branch 'master' into blender2.8 2018-07-16 14:36:59 +02:00
Campbell Barton
ab9bd557ad Cleanup: doxy comments 2018-07-15 20:34:24 +02:00
Campbell Barton
57ab7daa2a GPU_matrix: use Blender's naming conventions
Thanks to @sergey for review
2018-07-15 15:34:13 +02:00
Campbell Barton
b457cae397 Cleanup: use variable names based on term gizmo 2018-07-15 14:35:33 +02:00
Campbell Barton
e00f0686f7 Cleanup: style, doxy file 2018-07-15 10:53:34 +02:00
Campbell Barton
09431033e9 Cleanup: split GPU_batch
Split out presets and utilities for creating batches.
These functions are quite specialized and not related to typical usage.
2018-07-15 10:51:49 +02:00
Campbell Barton
5ebebcfbff WM: rename manipulator to gizmo internally 2018-07-14 23:49:00 +02:00
Campbell Barton
cd16004132 WM: rename files, manipulator -> gizmo
Edit doxy files and header guards only.
2018-07-14 23:16:34 +02:00
Campbell Barton
fc7c934cfc UI: rename manipulator to gizmo
This is a common, short, distinctive term often used for this purpose.

Changes to internal API's still needed.
2018-07-14 22:29:35 +02:00
Campbell Barton
d9e79b0756 Add include missing in release builds 2018-07-13 20:22:20 +02:00
Campbell Barton
cca87ccc75 UI: remove space/region from popover args
Instead use global panel-type list.
2018-07-13 19:16:35 +02:00
Campbell Barton
af0fc66049 WM: register global list of panel types
Allows simple lookups for popovers.
2018-07-13 19:15:13 +02:00
Campbell Barton
6845306c68 Correct recent menu split
Somehow duplicate API didn't error when linking.
2018-07-13 18:56:59 +02:00
Campbell Barton
4705682151 Merge branch 'master' into blender2.8 2018-07-13 12:52:10 +02:00
Campbell Barton
f6367ecfb6 Cleanup: operator type API, header 2018-07-13 12:47:04 +02:00
Campbell Barton
2ead3f0765 Merge branch 'master' into blender2.8 2018-07-13 12:38:46 +02:00
Campbell Barton
8ff3f7f601 Cleanup: move WM type registration into own files
Type registration is mostly boiler plate logic,
which can be separated from other API's.
2018-07-13 12:20:42 +02:00
Campbell Barton
6f8a141fad Merge branch 'master' into blender2.8 2018-07-12 21:43:51 +02:00
Campbell Barton
e77d2b4e3f Cleanup: remove legacy mesh save support
This was used for saving files for Blender 2.6x.
2018-07-12 21:35:57 +02:00
Campbell Barton
5cdfb74dd8 Keymap: add utility function for panel popups 2018-07-12 11:43:37 +02:00
Campbell Barton
b90646dc0e Transform Manipulator: fix scale handle selection
The scale handles couldn't be accessed when rotation was enabled and
they pointed away from the view.
2018-07-11 18:09:19 +02:00
Campbell Barton
cbfe522bb3 Fix manipulator hiding cursor
Manipulator highlight, then transform would hide the mouse cursor.
2018-07-11 17:18:44 +02:00
Clément Foucault
1a43e08187 Eevee: LightCache: Initial Implementation
This separate probe rendering from viewport rendering, making possible to
run the baking in another thread (non blocking and faster).

The baked lighting is saved in the blend file. Nothing needs to be
recomputed on load.

There is a few missing bits / bugs:
- Cache cannot be saved to disk as a separate file, it is saved in the DNA
  for now making file larger and memory usage higher.
- Auto update only cubemaps does update the grids (bug).
- Probes cannot be updated individually (considered as dynamic).
- Light Cache cannot be (re)generated during render.
2018-07-10 15:31:34 +02:00
Brecht Van Lommel
39b1842335 Fix T55882: crash closing user preferences window in some cases. 2018-07-10 12:33:18 +02:00
Brecht Van Lommel
8373544df3 Fix T55776: crash with multiple windows and reload new.
There were a number of cases where immActivate() and immDeactivate() could
get out of sync, causing crashes due to using a freed mutex lock. Refactor
the code now to hopefully avoid this always.
2018-07-09 23:57:19 +02:00
Campbell Barton
113b053d5b WM: add utility function to refresh status bar 2018-07-09 18:14:41 +02:00
Campbell Barton
edb78d528b Keymap: Remove AccentGrave for each
Use only F3 for search since this is a common enough key
and it turns out having AccentGrave access on non US layouts is
too unreliable.
2018-07-09 14:55:31 +02:00
Campbell Barton
53c24bf97c Keymap: macos only operator search key: Cmd-F
Add Cmd-F for apple because it's not easily available on some systems.
2018-07-09 14:06:51 +02:00