Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-04-19Cycles: add support for volume motion blurKévin Dietrich
This adds support for rendering motion blur for volumes, using their velocity field. This works for fluid simulations and imported VDB volumes. For the latter, the name of the velocity field can be set per volume object, with automatic detection of velocity fields that are split into 3 scalar grids. A new parameter is also added to scale velocity for more artistic control. Like for Alembic and USD caches, a parameter to set the unit of time in which the velocity vectors are expressed is also added. For Blender gas simulations, the velocity unit should always be in seconds, so this is only exposed for volume objects which may come from external OpenVDB files. These parameters are available under the `Render` panels for the fluid domain and the volume object data properties respectively. Credits: kernel advection code from Tangent Animation's Blackbird based on earlier work by Geraldine Chua Differential Revision: https://developer.blender.org/D14629
2022-02-23Cleanup: Remove repeated word in commentsCampbell Barton
2022-02-11File headers: SPDX License migrationCampbell Barton
Use a shorter/simpler license convention, stops the header taking so much space. Follow the SPDX license specification: https://spdx.org/licenses - C/C++/objc/objc++ - Python - Shell Scripts - CMake, GNUmakefile While most of the source tree has been included - `./extern/` was left out. - `./intern/cycles` & `./intern/atomic` are also excluded because they use different header conventions. doc/license/SPDX-license-identifiers.txt has been added to list SPDX all used identifiers. See P2788 for the script that automated these edits. Reviewed By: brecht, mont29, sergey Ref D14069
2021-11-19Cleanup: fix typos in comments and docsBrecht Van Lommel
Contributed by luzpaz. Differential Revision: https://developer.blender.org/D13264
2021-09-10Modifiers: export motion blur velocity through attributeBrecht Van Lommel
Previously fluid simulation and Alembic modifiers had a dedicated function to query the velocity for motion blur. Now use a more generic system where those modifiers output a velocity attribute. Advantages: * Geometry and particle nodes can output velocity through the same mechanism, or read the attribute coming from earlier modifiers. * The velocity can be preserved through modifiers like subdivision surface or auto smooth. * USD and Alembic previously only output velocity from fluid simulation, now they work with velocity from other sources too. * Simplifies the code for renderers like Cycles and exporters like Alembic and USD. This breaks compatibility: * External renderers and exporters accessing these velocities through the Python API now need to use the attribute instead. * Existing modifier node setups that create an attribute named "velocity" will render differently with motion blur. Differential Revision: https://developer.blender.org/D12305
2021-07-30Cleanup: clang-format (re-run after v12 version bump)Campbell Barton
2021-07-26Mantaflow: Remove Noise Type OptionAaron Carlisle
Mantflow only supports wavelet noise, thus the parameter with only one option is no longer useful. Differential Revision: https://developer.blender.org/D6770
2021-07-05Cleanup: spelling in commentsCampbell Barton
2021-06-24Cleanup: comment blocks, trailing space in commentsCampbell Barton
2020-12-23Cleanup: Clang formatHans Goudey
2020-12-23Fluid: Added new viscosity solverSebastián Barschkis
Mainly updated the Mantaflow version. It includes the new viscosity solver plugin based on the method from 'Accurate Viscous Free Surfaces for Buckling, Coiling, and Rotating Liquids' (Batty & Bridson). In the UI, this update adds a new 'Viscosity' section to the fluid modifier UI (liquid domains only). For now, there is a single 'strength' value to control the viscosity of liquids.
2020-11-19Build-system: Force C linkage for all DNA type headersJulian Eisel
Some DNA headers already did this, most did not. Even though many of them would be included in C++ files and thus compiled as C++. This would be confusing and developers may think they have to add `extern "C"` too a whole lot of (indirect) includes to be able to use a C header in C++. However, this is a misconception. `extern "C"` does not cause code to be compiled with C rather than C++! It only causes the linker to not use C++ function name mangling. See https://stackoverflow.com/a/1041880. Because extern DNA headers don't have function declarations, using `extern "C"` actually should not have any effect. On the other hand, adding it causes no harm and avoids confusion. So let's just have it consistently in C header files. Differential Revision: https://developer.blender.org/D9578 Reviewed by: Bastien Montagne, Sybren Stüvel
2020-10-21Fluid: Added obstacle fluid distance parameterSebastián Barschkis
Being able to adjust the distance between fluid and obstacles comes in handy when trying to achieve a fluid motion over inclined obstacles. Depending on the slope of such obstacles, already small adjustments of this value can help when particles stick to obstacle surfaces (i.e. make particles not stick to obstacles).
2020-10-14Fluid: Enabled OpenVDB precision argumentSebastián Barschkis
This way particles can be saved with the custom OpenVDB precision options that were introduced in the latest Mantaflow update.
2020-09-22Fluid: Refactor for initial velocitiesSebastián Barschkis
Removed invel MAC grid since it is sufficient to use the cell centered vec3 representation. When setting initial velocities these will be interpolated by the setter functions.
2020-09-16Cleanup: use doxygen links to struct membersCampbell Barton
2020-09-16Cleanup: DNA_fluid_types: Add DNA member name before enum declarationsClément Foucault
2020-09-15Liquid Simulation Display Options (GSoC 2020)Sriharsha Kotcharlakot
All the changes made in the branch `soc-2020-fluid-tools` are included in this patch. **Major changes:** === Viewport Display === - //Raw voxel display// or //closest (nearest-neighbor)// interpolation for displaying the underlying voxel data of the simulation grids more clearly. - An option to display //gridlines// when the slicing method is //single//. ==== Grid Display ==== - Visualization for flags, pressure and level-set representation grids with a fixed color coding based on Manta GUI. ==== Vector Display ==== - //**M**arker **A**nd **C**ell// grid visualization options for vector grids like velocity or external forces. - Made vector display options available for external forces. ==== Coloring options for //gridlines// ==== - Range highlighting and cell filtering options for displaying the simulation grid data more precisely. - Color gridlines with flags. - Also, made slicing and interpolation options available for Volume Object. Reviewed By: JacquesLucke, sebbas Differential Revision: https://developer.blender.org/D8705
2020-08-07Fix T79201: Mantaflow: Fluid guides don't affect simulation.Sebastián Barschkis
This broke during the OpenVDB update for 2.90. Just making sure that guiding velocity files are being read correctly.
2020-08-07Code Style: use "#pragma once" in source directoryJacques Lucke
This replaces header include guards with `#pragma once`. A couple of include guards are not removed yet (e.g. `__RNA_TYPES_H__`), because they are used in other places. This patch has been generated by P1561 followed by `make format`. Differential Revision: https://developer.blender.org/D8466
2020-07-26Fluid: Added new option to control the maximum number fluid particles in the ↵Sebastián Barschkis
simulation New option that lets users the define the maximum number of fluid particles that will be allowed in the simulation. This can come in handy, for example, to ensure that the particle count will not exceed the hardware capabilities, or to avoid excessive amounts of particles in a scene.
2020-07-14Fix T77766: support animated global gravity toggleJacques Lucke
Reviewers: sebbas Differential Revision: https://developer.blender.org/D8281
2020-07-03Cleanup: Fluid renaming from old 'manta' naming to new 'fluid' namingSebastián Barschkis
Changed variable names from mmd, mds, mfs, and mes to fmd, fds, ffs, and fes. The author of this commits lights a candle for all the merge conflicts this will cause.
2020-07-02Fluid: Added offset to control frame rangeSebastián Barschkis
Added an offset field to control when to load the simulation files. Since this is a very small but helpful addition it is in my view safe to commit at this point of the bcon cycle.
2020-06-30Cleanup: clang-formatCampbell Barton
2020-06-24Fluid: Improved OpenVDB support for fluid cachesSebastián Barschkis
This commit makes uses of the new OpenVDB IO in Mantaflow (introduced in 781f783a66ac). From now on, fluid cache files in OpenVDB format will contain a list of grids per frame (before: one .vdb file per grid per frame). Besides regular grids, particle systems are also stored using OpenVDBs PointGrid data structures. All older cache formats will remain fully functional: - Uni caches (.uni) files are still available from the UI and can be used as before - Raw caches (.raw) are no longer available from the UI, but loading them is still possible - Old OpenVDB caches (one .vdb per grid) can no longer be baked either, but loading them is still possible. It is also no longer possible to choose file formats for 'Noise' and 'Particles'. Instead there are now options to set the file format for 'Volumetric' and for 'Mesh' data. Known issues (planned to be resolved soon): - OpenVDB files are currently not taking into consideration the clipping value (FluidDomainSettings). Empty cells are therefore being written too. Depending on the scene, this can make file sizes unnecessarily large. - Domains are not being exported at their world position. Instead they are always clipped to the origin.
2020-06-05Fluid: Cleanup internal Python object namesSebastián Barschkis
Manta Python objects should not carry the global ID in their names.
2020-05-17Fluid: Foundation for new OpenVDB file IOSebastián Barschkis
This commit lays the foundation for support for OpenVDB caching with multiple grids per cache file.
2020-04-30Fluid: Removed domain size option from diffusion panelSebastián Barschkis
Domain size parameter no longer needed (unsed right now). Domain size is directly taken from object.
2020-04-22Fluid: Improved cache 'Replay' optionSebastián Barschkis
When using the 'Replay' cache mode the cache needs to be invalidated whenever simulation variables have been changed. The invalidation will always only affect the according subcaches, e.g. when changing a mesh paramter only the mesh cache will be invalidated, the base cache will remain intact. Before this change Blender always invalidated the entire cache.
2020-04-03Fluid: Refactored caching in main Mantaflow classSebastián Barschkis
This refactor cleans up code for the Manta file IO. It also improves the cache 'Replay' option.
2020-03-11Smoke: put density/color in separate textures, fixes for workbench shaderBrecht Van Lommel
This is more in line with standard grids and means we don't have to make many special exceptions in the upcoming change for arbitrary number of volume grids support in Eevee. The workbench shader was also changed to fix bugs where squared density was used, and the smoke color would affect the density so that black smoke would be invisible. This can change the look of smoke in workbench significantly. When using the color grid when smoke has a constant color, the color grid will no longer be premultiplied by the density. If the color is constant we want to be able not to store a grid at all. This breaks one test for Cycles and Eevee, but the setup in that test using a color without density does not make sense. It suffers from artifacts since the unpremultiplied color grid by itself will not have smooth boundaries. Differential Revision: https://developer.blender.org/D6951
2020-03-06Cleanup: Fix forward declaration of headersDalai Felinto
2020-03-05Fluid: Diffusion settings now optionalSebastián Barschkis
For optimization purposes these settings need to be enabled explicitly from now on.
2020-03-04Fluid: Bounding boxes for effector objectsSebastián Barschkis
This commit adds bounding box support for emission objects - similarly to flow objects. Before, each effector object had to iterate over the entire domain. Bake times of scenes with multiple obstacles improved significantly with this optimization. Other improvements that were implemented alongside the bbox feature: - Option for subframe sampling for effector objects - Option to enable / disable effectors (can be animated) - Optimization for static objects. If a flow or effector object does not move and the adaptive domain is not in use, the bake time will be optimized further by reusing the flow / effector grids from the previous frame (no recalculation).
2020-03-04Fluid: Added an option to delete fluid inside obstaclesSebastián Barschkis
Simple checkbox that - if enabled - will tell the solver to clear density or liquid particles in obstacle cells.
2019-12-17Cleanup: renaming guiding -> guideCampbell Barton
The term guide makes sense on it's own in this context.
2019-12-17Cleanup: replace verbose checks with read-only attributesCampbell Barton
These attributes checked for any baked / baking since this is a common test that was performed in layout code. Also follow our naming convention - using an 'is_/has_' prefix in this case since "cache_baked_data" reads as if it's used to access the baked data.
2019-12-17Fix deprecated DNA define checksCampbell Barton
Also remove dead code which checked for SPACE_TIME.
2019-12-17Cleanup: clang-formatCampbell Barton
2019-12-16Mantaflow [Part 10]: Updated fluid modifier settingsSebastián Barschkis
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