August 28, 2017, 07:21 (GMT)
Simple CSV mesh loading for tests.
File paths are crude and preliminary.
August 26, 2017, 14:32 (GMT)
Fix neighbor conflict checks for Poisson disk distribution.
The cell size is chosen as r/sqrt(3) (i.e. max. 1 sample per cell),
which means that the influence of each cell extends beyond the 1st
neighbor. a 5x5x5 box (except the center and corners) needs to be
examined to find collisions.
August 26, 2017, 11:41 (GMT)
Added a 1-cell margin to the grid dimensions to simplify neighbor lookups.
August 26, 2017, 11:13 (GMT)
Separate step for mesh sample generators to bind them to a specific mesh.
August 25, 2017, 08:19 (GMT)
Initial implementation of Poisson disk sampling on meshes.
This is still buggy (uneven sample coverage) and needs changes to the
sampling system for better threading support.
The implementation is based on
Bowers, John, et al. "Parallel Poisson disk sampling with spectrum analysis on surfaces." ACM Transactions on Graphics (TOG). Vol. 29. No. 6. ACM, 2010.
August 23, 2017, 08:44 (GMT)
Thread-safe implementation of the volume bounding-box raycast sampler.
August 23, 2017, 08:07 (GMT)
Include other sample generators in tests.
Volume bbray method is currently excluded because the implementation
is not yet thread-safe.
August 22, 2017, 17:49 (GMT)
New gtests for the mesh sampling system.
This should test general functionality and consistency of different methods
for generating samples. In particular it shoud ensure that threaded variants
produce the same samples as unthreaded variants when using the same generator
August 21, 2017, 05:42 (GMT)
Use a consistent number of RNG steps in both sample generation and skipping.
This is to ensure that threaded generator usage creates the exact same results
as the non-threaded base version. Further improvements and testing will be
August 20, 2017, 17:50 (GMT)
Multithreading support for the mesh sampling library.
Samples can be generated either one-by-one using the existing "make_sample"
function (which uses a default context), or use the more efficient batch
generation functions. These optionally support threading via the task scheduler
August 19, 2017, 11:26 (GMT)
Fix hair follicle array write/read.
August 19, 2017, 11:02 (GMT)
Merge branch 'blender2.8' into strand_editmode
August 19, 2017, 07:56 (GMT)
Removed unused shaders in the draw modes module.
August 18, 2017, 15:13 (GMT)
Implement control strands generation for basic hair types along surface normals.
The default hair group type uses vertex normals to generate guide strands automatically.
August 14, 2017, 07:46 (GMT)
Store the scalp mesh as part of the hair drawing interface.
The scalp mesh is always needed for evaluating root positions anyway.
August 14, 2017, 07:19 (GMT)
Removed fiber drawing from the strand edit mode to simplify code.
For rendering hair fibers the edit mode should just use the underlying data.
August 14, 2017, 06:58 (GMT)
Hair drawing data based on the new DNA hair groups.
August 11, 2017, 07:57 (GMT)
Store pointer into the hair follicle array in hair groups directly.
This creates a dependency of the hair groups on the validity of the pattern,
so care has to be taken to always update the groups when the pattern changes.
August 11, 2017, 07:17 (GMT)
Split off hair drawing code into a separate file.
August 7, 2017, 17:04 (GMT)
List of 'Hair Groups' in hair patterns that will generate actual fibers for rendering.
Each group affects a subset of the hair follicles, so that multiple effects can be combined
without overlapping sample sets.