Blender Git Loki

Blender Git "strand_nodes" branch commits.

Page: 7 / 37

July 2, 2016, 12:32 (GMT)
Use the correct buffer for the control points texture.

Also a bit of cleanup renaming to use "control" consistently instead
of "guide".
July 2, 2016, 12:16 (GMT)
Modified the guide strand creation operator to allow shorter-than-max strands.

The guide strand format may change, but it should allow varying numbers of control
points.
July 2, 2016, 10:15 (GMT)
Calculate barycentric interpolation weights using a simple kdTree method.

This method uses the 3 closest points on the scalp for defining interpolation
weights. This method has drawbacks in cases of thin geometry, but it is
simple to implement.
July 2, 2016, 08:32 (GMT)
Vertex attributes for the strand root points.

These attributes carry information for interpolating guide strands
in the geometry shader. Each strand can have up to 4 guide strands
(identified by index) with a normalized weight for each.
July 1, 2016, 15:12 (GMT)
Generate a buffer texture for passing the control strand locations to the shader.

This should enable the strand geometry shader to interpolate control strands
with appropriate vertex attributes for indices and weights.
July 1, 2016, 10:43 (GMT)
Use separate buffers for control strand and root vertices.

This is important so we can put control strands into a buffer texture,
and pass it to the geometry shader for generating strands.
July 1, 2016, 10:28 (GMT)
Start off with some very simple own code for vert/frag/geom strand shader.
July 1, 2016, 09:04 (GMT)
Draw render strands as simple point primitives.

The geometry shader will eventually turn these points into full strand curves.
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.
June 28, 2016, 09:17 (GMT)
Merge branch 'master' into mesh_samples
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021