July 1, 2016, 08:00 (GMT) |
Generate a number of "roots" for render hairs on the mesh surface. These root points will be used as input for the strand shader to generate the interpolated render strands. |
July 1, 2016, 06:58 (GMT) |
Use the show_control_strands toggle for switching control hair display on/off. Also use the basic edge shader for control hairs, the generated GLSL shader is only needed for drawing render strands. |
June 30, 2016, 16:37 (GMT) |
Intermediate struct StrandData for storing base data for drawing. This is equivalent to the DerivedMesh stage in the Mesh -> DM -> GPUBuffer pipeline. The Strands struct is the base editable user data, StrandsData is preprocessed data with evaluated root matrices and applied for object space drawing. |
June 30, 2016, 11:12 (GMT) |
GPU code for vertex and edge buffers of strands. This is a modification of the DerivedMesh code, which relies too much on the DerivedMesh data structure to be used directly. |
June 29, 2016, 16:55 (GMT) |
Test operator for quickly initializing the strands data. This is just a temporary test operator, to be removed later when edit mode and other mechanisms exist to generate useful strands. |
June 29, 2016, 16:02 (GMT) |
Use plain vertex and curve arrays in Strands data, so that they can be used as OpenGL buffers. |
June 29, 2016, 15:37 (GMT) |
Own file for strand drawing code to avoid polluting drawobject.c even more. |
June 29, 2016, 15:23 (GMT) |
Skeleton GPU code for creating a special hair shader. This will include a geometry shader as well as vertex/fragment shaders, for efficiently generating strand geometry based on control strands. |
June 29, 2016, 09:08 (GMT) |
Flag for enabling control strand display. Currently still unused. |
June 29, 2016, 08:40 (GMT) |
Use the Strands modifier as a simple container for strand control curves. These curves are NOT intended for final rendering! They are abstract editable data (control strands) from which the "actual" visible strands have to be generated in some way. This is largely equivalent to the parent/child dichotomy in old particles, but enforces the separation right from the start (control curves are never rendered). |
June 28, 2016, 16:03 (GMT) |
Stub modifier for testing strand geometry generation. Modifier is not ideal, but easiest way to test code due to lack of infrastructure in Object for node-generated data. |
Revision 548dfdb by Lukas Toenne (hair_guides, hair_guides_grooming, hair_object, strand_editmode, strand_gpu, strand_nodes, tmp_hair_curves) June 28, 2016, 09:17 (GMT) |
Merge branch 'master' into mesh_samples |
Revision 73140ca by Lukas Toenne (hair_guides, hair_guides_grooming, hair_object, strand_editmode, strand_gpu, strand_nodes, tmp_hair_curves) June 27, 2016, 08:52 (GMT) |
Merge branch 'master' into strand_editmode |
Revision 32455e2 by Lukas Toenne (hair_guides, hair_guides_grooming, hair_object, strand_editmode, strand_gpu, strand_nodes, tmp_hair_curves) April 20, 2016, 10:34 (GMT) |
Fix unused function warning. |
Revision af594b7 by Lukas Toenne (hair_guides, hair_guides_grooming, hair_object, strand_editmode, strand_gpu, strand_nodes, tmp_hair_curves) April 19, 2016, 12:19 (GMT) |
Fix meamleak from unfreed edit data when exiting in hair edit mode. |
Revision 5f67ac8 by Lukas Toenne (hair_guides, hair_guides_grooming, hair_object, strand_editmode, strand_gpu, strand_nodes, tmp_hair_curves) April 19, 2016, 12:05 (GMT) |
Fix unfreed temporary buffers in strand relaxation. |
Revision b2cb4c4 by Lukas Toenne (hair_guides, hair_guides_grooming, hair_object, strand_editmode, strand_gpu, strand_nodes, tmp_hair_curves) April 19, 2016, 12:01 (GMT) |
Define BMEditStrands struct as an extension of BMEditMesh. The advantage is that we can now use this struct in the (rather involved) process of generating a display DerivedMesh and apply modifiers to it. |
Revision 216aacb by Lukas Toenne (hair_guides, hair_guides_grooming, hair_object, strand_editmode, strand_gpu, strand_nodes, tmp_hair_curves) April 19, 2016, 11:27 (GMT) |
Disable regular mesh drawing in hair edit mode. |
Revision ec51e83 by Lukas Toenne (hair_guides, hair_guides_grooming, hair_object, strand_editmode, strand_gpu, strand_nodes, tmp_hair_curves) April 18, 2016, 16:13 (GMT) |
Proof-of-concept: Hair edit data from regular meshes. This adds the possibility to edit a regular mesh like strand data. It's more of a test for independence from particles than a real use case, but could come in handy anyway. |
Revision 9a20f68 by Lukas Toenne (hair_guides, hair_guides_grooming, hair_object, strand_editmode, strand_gpu, strand_nodes, tmp_hair_curves) April 18, 2016, 15:48 (GMT) |
Check mesh samples for zero weights on eval to detect invalid/unusable samples. |
|