Commit Graph

92181 Commits

Author SHA1 Message Date
d61d68a310 Cleanup: remove redundant string initialization
Fixed sized strings are always initialized & this is not done
elsewhere before calling BLI_path_join.

Remove since it's not needed and makes it read as if the function
might not initialize the output argument.
2019-12-17 12:11:28 +11:00
814a11be59 Cleanup: use snake case variable & function names 2019-12-17 12:04:57 +11:00
23940ff1e1 Cleanup: conform header guards to Blender's style 2019-12-17 11:42:19 +11:00
7f00b3a711 Cleanup: split smoke drawing out into it's own file
gpu_draw.c had generic sounding utility functions which were specific
to smoke drawing.

Split into it's own file so the functionality is clearly separated.
2019-12-17 11:35:26 +11:00
1ef6be3686 Cleanup: redundant struct declarations 2019-12-17 10:15:22 +11:00
f4d7d5e75d Cleanup: sort struct declarations 2019-12-17 10:08:47 +11:00
bc92d05522 Cleanup: sort file lists 2019-12-17 10:07:44 +11:00
9c82eac2c8 Cleanup: use BKE_fluid prefix for fluid API 2019-12-17 10:00:45 +11:00
5d1245cca9 PyAPI: disable threading hack when fluid is disabled 2019-12-17 09:55:25 +11:00
7e15638cce Cleanup: style, always use braces 2019-12-17 09:53:25 +11:00
96ebdbc90f Fix deprecated DNA define checks
Also remove dead code which checked for SPACE_TIME.
2019-12-17 09:49:23 +11:00
bcd38b398c Cleanup: remove contributors, license begin/end & doxy file argument
This had already been removed for all source files,
recent patches re-introduced them.
2019-12-17 09:27:01 +11:00
11e4eafd9b Cleanup: compiler warnings 2019-12-17 09:12:03 +11:00
831b85efb2 Cleanup: clang-format 2019-12-17 08:58:43 +11:00
4f1abcb06f Cleanup: remove redundant headers 2019-12-17 08:57:06 +11:00
3da429aa87 Cleanup: replace 'if 0' with 'DEBUG_PRINT' define
Allows enabling debug prints in this file easily,
differentiates it from code which has been disabled for other reasons.

Also remove unused DEBUG_TIME.
2019-12-17 08:54:03 +11:00
79c3e8db26 Fix linking errors WITH_MOD_FLUID=OFF 2019-12-17 08:47:06 +11:00
714e48ec55 GPencil: Fix unreported missing onion skin in renders
When the option was enabled, the onion was not render as expected.
2019-12-16 18:54:36 +01:00
043cac5d20 Mantaflow [Part 12]: Updated docs
Updated diff with latest changes from fluid-mantaflow branch

Reviewed By: sergey

Maniphest Tasks: T59995

Differential Revision: https://developer.blender.org/D5620
2019-12-16 16:39:50 +01:00
ceba74dcd7 Mantaflow [Part 8]: Customization for particle system
The particle system needs some tweaks so that it can be used for particles created in Mantaflow (i.e. to read both FLIP and secondary particles from Mantaflow).

Reviewed By: sergey

Maniphest Tasks: T59995

Differential Revision: https://developer.blender.org/D3857
2019-12-16 16:39:04 +01:00
7bd3d2be08 Mantaflow [Part 5]: Update other /intern packages
Cycles needs some smaller updates so that the up-res smoke wavelet noise and the liquid mesh speed vector export work correctly.

Reviewed By: mont29

Maniphest Tasks: T59995

Differential Revision: https://developer.blender.org/D3854
2019-12-16 16:37:57 +01:00
d27ccf990c Mantaflow [Part 6]: Updates in /blender/source
A collection of smaller changes that are required in the /blender/source files. A lot of them are also due to variable renaming.

Reviewed By: sergey

Maniphest Tasks: T59995

Differential Revision: https://developer.blender.org/D3855
2019-12-16 16:37:01 +01:00
7b87d3d34e Mantaflow [Part 11]: Updated entire smoke.c code
Probably the most significant changes are in smoke.c.

New functionality includes:
- support for adative time steps (substeps)
- write flow objects to grid structure so that Mantaflow can generate levelsets
- no more distinction between FLUID_3D and WTURBULENCE objects. Everthing that communicates with Mantaflow now lives in a FLUID object.

Reviewed By: sergey

Maniphest Tasks: T59995

Differential Revision: https://developer.blender.org/D3861
2019-12-16 16:35:41 +01:00
db8726dfd5 Mantaflow [Part 9]: Updated rna smoke code
All new simulation parameters need to be registered in the RNA. Especially for liquids a lot of new ones need to be added.

Reviewed By: sergey

Maniphest Tasks: T59995

Differential Revision: https://developer.blender.org/D3858
2019-12-16 16:35:01 +01:00
eb98cbb8c5 Fix: Missing category in IMAGE_PT_paint_settings_advanced panel
Addresses raised concern in fb74dcc5d6
2019-12-16 16:34:16 +01:00
829a83262f Mantaflow [Part 7]: Added bake configuration
Similarly to physics_fluid.c (in same directory) which handled the baking process for Elbeem, there is now physics_manta.c which handles it for Mantaflow.

There are two types of jobs: one for baking and another for freeing. The generic jobs will be used to bake / free specific parts of the simulation (e.g. bake mesh, free particles, etc.).

The jobs are only being used in the "modular" cache mode where the simulation has to be baked in parts.

Reviewed By: sergey

Maniphest Tasks: T59995

Differential Revision: https://developer.blender.org/D3856
2019-12-16 16:33:54 +01:00
41fd60db16 Mantaflow [Part 4]: Adapted build config
Smaller changes in the build files to reflect the new Mantaflow macro.

Reviewed By: sergey

Maniphest Tasks: T59995

Differential Revision: https://developer.blender.org/D3853
2019-12-16 16:32:25 +01:00
9064655a70 Mantaflow [Part 10]: Updated fluid modifier settings
All the new fluid simulation parameters need to be added the according structs (i.e. domain settings, flow settings).

Reviewed By: sergey

Maniphest Tasks: T59995

Differential Revision: https://developer.blender.org/D3860
2019-12-16 16:31:22 +01:00
4235fe37d6 Mantaflow [Part 3]: Customized UI for Manta fluids
With Mantaflow the current smoke modifier UI will accommodate both smoke and liquids.

In addition, there is now an option for Mantaflow liquids in the quick effects section ("Quick Liquid").

Reviewed By: sergey

Maniphest Tasks: T59995

Differential Revision: https://developer.blender.org/D3852
2019-12-16 16:30:10 +01:00
2aa4301c88 Mantaflow [Part 2]: Added fluid wrapper files
Files from /intern/mantaflow handle the communication between core Blender code and Mantaflow itself. It's the bridge to communicate with Mantas Python functions.

Code from /intern/mantaflow/intern/strings/ is pure Manta code and would likely need less attention in the review.

Reviewed By: sergey

Maniphest Tasks: T59995

Differential Revision: https://developer.blender.org/D3851
2019-12-16 16:29:08 +01:00
4ff7c5eed6 Mantaflow [Part 1]: Added preprocessed Mantaflow source files
Includes preprocessed Mantaflow source files for both OpenMP and TBB (if OpenMP is not present, TBB files will be used instead).

These files come directly from the Mantaflow repository. Future updates to the core fluid solver will take place by updating the files.

Reviewed By: sergey, mont29

Maniphest Tasks: T59995

Differential Revision: https://developer.blender.org/D3850
2019-12-16 16:27:26 +01:00
Lukas Stockner
6a3f2b30d2 Fix T72467: Crash when using many (>64) images in a shader
Previously this limit was rather high, but with UDIMs it's fairly easy
to reach this many images. Even though this exceeds the texture limit
on most hardware as far as I can tell, it should at least not crash.

The old code uses a fixed array which overflows eventually, this fix
replaces the array with a GSet.

Reviewed By: fclem

Differential Revision: https://developer.blender.org/D6416
2019-12-16 16:09:01 +01:00
8d16dc029e Fix T72474: UDIM breaks box mapping in Cycles
The ImageTextureNode incorrectly used the tile slot encoding for box-
mapped textures as well. Since box-mapping always generates UVs that
lie in the 1001 tile, there's no need to support tiles here.
2019-12-16 12:53:03 +01:00
bbc97fc533 Fix T72440: Dragging & dropping color in the Image Editor crashes
This was caused by a call to paint_2d_bucket_fill that I missed in the
UDIM changes.

Now, this feature does not only not crash, but it even works with tiled
images!
2019-12-16 12:41:53 +01:00
Dalai Felinto
01608f5348 Fix typo in UDIM operator (always capitalize UI labels) 2019-12-16 10:44:36 +01:00
f3dadd4115 UI: de-duplicate mask context menu
- Use the clip mask context menu for the image editor.
- Remove redundant CLIP_MT_mask_handle_type_menu.
- Remove "Add" items (was only in image mask context menu)
  as the convention is not to include these in the context menu.
2019-12-16 16:48:51 +11:00
e720661b7d Cleanup: move mask menu out of bl_operators
This file only defined a single mask menu, move the definition
along-side the other mask menus.
2019-12-16 16:31:57 +11:00
85f8690555 Cleanup: remove redundant dynamic tool expansion
The tools passed to _tools_flatten, _tools_flatten_with_tool_index
already have dynamic tool items expanded, so there is no need to check
for callable tool items.
2019-12-16 15:40:20 +11:00
165afb3ad0 Cleanup: pep8, unused vars, line length 2019-12-16 14:54:32 +11:00
31ac2e292e Cycles: Fix one-tile UDIM rendering
The code checked for the presence of more than one tile before
substituting the tile number into the filename, so if a one-tile
UDIM was used (or all but one tile were culled), the substitution
was skipped and as a result the file was not found.

With this change, the code explicitly tracks whether substitution
is required, avoiding this problem.

This also fixes another problem: The Environment texture never
does substitution since it doesn't support UDIMs, but before the
syncing code still inserted the placeholder into the filename if the
user selected a tiled background image.
2019-12-16 04:09:53 +01:00
5a97a74c69 Cleanup: whitespace 2019-12-16 13:49:11 +11:00
80062e6305 Cleanup: use static sets 2019-12-16 13:43:45 +11:00
3b163483c4 Industry Compat keymap: Fix paint mode context menus 2019-12-15 19:46:34 +01:00
dfe965bee2 UI: tweaks to the brush Stroke panel
- Make sure the spacing controls are together
  - Add separators around the dash controls
2019-12-14 21:41:29 +01:00
fb74dcc5d6 UI: Brush Settings overhaul
This makes a number of changes to the tool settings brush UI:

  - All brush-related controls are now grouped together, so you can see which items are brush settings are which are not. Previously it was all jumbled together.
  - The brush picker is in a separate panel, so that you can switch brushes without worrying about the settings, or vice versa.
  - Custom Icon settings moved from the Display settings(now known as Cursor) to the Brushes panel.
  - UnifiedPaintSettings panels are removed and the contained options are now next to their relevant setting with a globe icon toggle. This is not displayed in the header.
  - 2D Falloff and Absolute Jitter toggles were changed into enums, to make it clearer what happens when they are on or off.
  - Adjust Strength for Spacing option was in the Options panel in some modes, but in the Stroke panel in others. It is now always under Stroke.
  - Display (now Cursor) panel was reorganized, settings renamed.
  - 2-option enums are annoying as a drop-down menu, so they are now drawn with expand=True.
  - Smooth Stroke and Stabilizer options in grease pencil and other paint modes are now both called "Stabilize Stroke", for consistency and clarity.
  - De-duplicated some drawing code between various painting modes' brush options. I tried to keep de-duplication reasonable and easy to follow.
  - A few more tweaks - see D5928 for the extensive list.

Most of the patch is written by Demeter Dzadik, with some additions by myself

Differential Revision: https://developer.blender.org/D5928
Reviewers: Pablo Dobarro, Bastien Montagne, Matias Mendiola
2019-12-14 18:48:18 +01:00
16206b66a2 Industry Compat keymap: Add support for the context menu PC keyboard key 2019-12-14 17:31:43 +01:00
017e028784 Industry Compat keymap: Fix issue in UV editor Box Select tool
Shift-dragging with the Box Select tool would also select the nearest point.

Using a Click instead of Press event for selection (just like the default keymap) fixes this.
2019-12-14 17:16:42 +01:00
f8cdc5ac4c USD: on Apple disable USD if library cannot be found
When building with `WITH_USD=ON` on Apple but the USD library cannot be
found, the CMake script now just sets `WITH_USD=OFF`.
2019-12-14 12:53:37 +01:00
9b871683b1 Fix T72412: Weld Modifier: Merged edges not displayed in wireframe 2019-12-13 21:47:54 -03:00
c6ba941339 Fix T72409: Remove references to Unified use_pressure_size and use_pressure_strength
This was causing errors to show in the terminal.

Reviewed By: campbellbarton

Maniphest Tasks: T72409

Differential Revision: https://developer.blender.org/D6407
2019-12-13 21:35:51 +01:00