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
path: root/source
AgeCommit message (Collapse)Author
2015-01-20Another crappy approach to spirals on hairs, crazy expensive though.Lukas Tönne
Conflicts: source/blender/blenkernel/intern/particle.c
2015-01-20Spiral kink mode for particles.Lukas Tönne
This is BAD code, but the particle kinking does not make it easy to write a non-local modifier that requires neighboring positions, curvature, etc. The feature is needed for Gooseberry.
2015-01-20Optional clumping noise feature for simulating twisted hair strands.Lukas Tönne
This adds another level of clumping on child hairs. When enabled, child hairs chose a secondary clumping target using a Voronoi pattern. This adds visual detail on a smaller scale, which is useful particularly when the number of parents is relatively small. Natural fibres behave in a similar way when they become sticky and intertwined. Hairs close to each other form a first twisted strand, then combine into larger strands. Similar features can be found in ropes: http://en.wikipedia.org/wiki/Hair_twists http://en.wikipedia.org/wiki/Rope Conflicts: source/blender/blenloader/intern/versioning_270.c
2015-01-20Disable scope updates in texture and image paint modes.Lukas Tönne
Scope update is very slow for high resolutions, and currently blocks the UI thread(!). This is especially terrible in paint modes, where each stroke causes a scope update and unacceptable freezing. The scopes update method tries to avoid this somewhat by skipping if the toolbar is disabled, but this doesn't help when painting where brush tools etc. are frequently needed. It's also a bad-level poll, with the core system accessing a UI element. Eventually scope updates should become a low-priority background job, as well as becoming threaded. Until then this polling provides a usable workaround to the most outrageous cases.
2015-01-20Curve-based control for "roughness" (noise displacement) of child hair.Lukas Tönne
2015-01-20Curve-based control for child path tapering.Lukas Tönne
This is an alternative method to the current fixed function with a clump factor and "shape" parameter. This function is quite limited and does not give the desired result in many cases (e.g. long, parallel rasta strands are problematic). So rather than trying to add more parameters there is now a fully user-defined optional curve for setting the tapering shape.
2015-01-20Moved kink, clump and roughness functions into the dedicated source file.Lukas Tönne
2015-01-20Reorganizing hair child code a little bit to make it not totally insane.Lukas Tönne
This contains a few pieces of code for a future "modifier" system that would allow more flexible combination of effects. Eventually a node system is the way to go, but the current code makes that impossible.
2015-01-20Separate context freeing from task freeing in threaded particle updatesLukas Tönne
to prevent double-freeing/invalid mem access. This can happen with the "virtual parents" feature, which generates both parent and child paths. Each task free function also freed the shared context, leading to double freeing.
2015-01-20Properly register the `mathutils.interpolate` submodule.Lukas Tönne
2015-01-20Fix for invalid access to undefined hair data in edge-only cloth meshes.Lukas Tönne
Cloth data is used both for hair and actual cloth, which makes things really difficult. The face number was used for distinguishing the two types (no faces == hair mesh), but the extra hair data necessary for hair sim is generated by particles and not available for edge-only cloth meshes. This really needs to be sanitized ... Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Radical simplification of the wind effect on hair, since the previousLukas Tönne
approach does not work very well. Using a cross section estimate still causes large oscillations due to varying hair force based on angles. It also requires a sensible hair thickness value (particle radius) which is difficult to control and visualize at this point. The new model is based purely on per-vertex forces, which seems to be much more stable. It's also somewhat justified by the fact that each hair vertex represents a certain mass. Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Fix for wind force function call.Lukas Tönne
2015-01-20Improved force field effects on hair strands.Lukas Tönne
The previous calculation was modulated with the angle between the wind direction and the segments, which leads to very oscillating behavior. Now the formula includes an estimate for the geometric cross section of a hair segment based on the incident angle and the hair thickness (currently just the particle size). This gives a more stable behavior and more realistic response to wind. Conflicts: source/blender/blenkernel/intern/particle_system.c source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20New python submodule `mathutils.interpolate` for various mesh interpolation ↵Lukas Tönne
and weighting methods. This module will contain mirrored functions for calculating and applying weights for points on a mesh. This includes barycentric and UV weighting and possibly more advanced global weighting such as harmonic weights. The naming should follow this scheme: <type>_{2d,3d}_{calc,apply} e.g. poly_2d_calc poly_2d_apply uv_3d_calc ... Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D939
2015-01-20Fix for missing library linking in blenderplayer.Lukas Tönne
2015-01-20Another fix for particle instance child lookups, was not subtractingLukas Tönne
parent amount.
2015-01-20Fix for invalid particle pointer access in mixed particle/child loop.Lukas Tönne
2015-01-20Better update function for particle settings affecting nested clothLukas Tönne
modifier.
2015-01-20Fix for applying the bending randomness factor.Lukas Tönne
A stupid hack is needed here, changing the way the factor is applied to angular bending springs. In cloth sim the bending factor of individual springs is applied as a mix value between the bending stiffness and a max value, but this max value isn't even used in hair sim so that approach becomes useless. Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Randomness factor for hair bending stiffness.Lukas Tönne
This helps to create some variation in a hair system, which can otherwise become very uniform and boring. It's yet another confusing setting in a system that should have been nodified, but only option for now (broken windows ...) Conflicts: source/blender/blenkernel/intern/particle_system.c source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Fix for particle instance initial frames.Lukas Tönne
These were not orthonormal and tended to flip with changing hair direction, now use the particle hair matrix which is stable wrt. the mesh surface.
2015-01-20Fix for particle instance modifier: use a stable parallel-transportLukas Tönne
framing method instead of the Frenet frame. The Frenet frame is very succeptible to sudden twists along straight sections of a curve where the second derivative (curvature) becomes 0.
2015-01-20Nicer hashing functionality for sim debugging using a variadic macroLukas Tönne
to support multiple hash identifiers. Using explicit hashing functions for every sim debug call defeats the purpose of having a quick feedback system. Now this can be done simply by passing an arbitrary number of hash inputs (integers) at the end of the function calls, which are then combined by a system of variadic macros (based on the ELEM feature). Up to 8 identifiers are supported currently, but more could be added easily if needed. Conflicts: source/blender/blenkernel/intern/particle_system.c source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Some tweaking of value ranges for hair target density and removedLukas Tönne
density factor (already included in grid velocity). Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Inverted effect of target density was unstable, the divergence termLukas Tönne
needs to be substracted instead.
2015-01-20Use dedicated debug values in cloth settings instead of abusing unusedLukas Tönne
other values. Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Fixed wrong stride values used for offsetting the index of Eigen values.Lukas Tönne
The Eigen solver for hair grids uses an extra margin of 1, which means greater stride values.
2015-01-20Hair grid code was using an invalid hair segment at each hair end withLukas Tönne
zero vectors, leading to bad density values. Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20A bunch of debug drawing changes.Lukas Tönne
Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Corrected the divergence and gradient calculation for the hair gridLukas Tönne
solver input and output. This uses the central difference method (instead of combined forward/ backward difference), which makes it easier to correctly account for grid borders.
2015-01-20Fallback method for defining density in the hair grid using discreteLukas Tönne
samples. This is just an intermediate method to make sure the density is valid. Eventually the closest-point method should be used, but for testing the poisson solver this is easier to debug. Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Added a margin to the number of cells used in the poisson grid solver,Lukas Tönne
to ensure we always have one layer of empty cells around the fluid.
2015-01-20Fix for merge errors and leftover unused code lines.Lukas Tönne
2015-01-20Implementation of a target density feature for the hair simulation.Lukas Tönne
This allows setting a target density which the fluid simulation will take into account as an additional term in the pressure Poisson equation. Based on two papers "Detail Preserving Continuum Simulation of Straight Hair" (McAdams et al. 2009) and "Two-way Coupled SPH and Particle Level Set Fluid Simulation" (Losasso et al. 2008) Currently the target pressure is specified directly, but it will be a lot more convenient to define this in terms of a geometric value such as "number of hairs per area" (combined with hair "thickness"). Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Another fix for off-by-one hair grid resolution errors.Lukas Tönne
2015-01-20Rewriting the grid rasterization function for hair segments.Lukas Tönne
2015-01-20Draw actual hair keys when the "Guide Hair" setting is enabled.Lukas Tönne
Without this certain debug tasks become very hard to visualize.
2015-01-20Fix for grid drawing in 3D view, was using one less grid cell.Lukas Tönne
2015-01-20Merge branch 'hair_immediate_fixes' into gooseberryLukas Tönne
Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Implemented PIC and FLIP methods for combining the fluid grid simulationLukas Tönne
with the Lagrangian hair model.
2015-01-20Main solver step for generating a divergence-free hair velocity fieldLukas Tönne
on the grid. This uses the Eigen conjugate-gradient solver to solve the implicit Poisson equation for the pressure Laplacian: div(grad(p)) = div(v) As described in "Detail Preserving Continuum Simulation of Straight Hair" (McAdams, Selle, 2009). Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Pampering the stupid MSVC compiler again, it fails to build valid C code.Lukas Tönne
2015-01-20Added new header for Eigen utility classes.Lukas Tönne
These make passing data between Eigen vector and matrix types and plain C arrays more convenient.
2015-01-20Updated a few comments.Lukas Tönne
2015-01-20Compile hair volumetrics code as C++, so we can use Eigen easier.Lukas Tönne
2015-01-20Minor debug code fix.Lukas Tönne
Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Use a fixed, uniform cell size for hair continuum grids.Lukas Tönne
This is a bit more awkward for artists to use, but necessary for a stable solution of the hair continuum calculation. The grid size is defined by the user, the extent of the grid is then calculated based on the hair geometry. A hard upper limit prevents bad memory allocation in case too small values are entered. Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Removed unused voxel_filter_size DNA property.Lukas Tönne
This is an artifact of earlier attempts to implement velocity smoothing, but doesn't work anyway. Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
2015-01-20Renamed HairVertexGrid to HairGrid, since it's not actually storingLukas Tönne
hair vertex data. Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp