Search This Blog

Wednesday, July 14, 2010

procedural feather

the beginnings of a procedural feather generator

stuff I've though about so far:
proxy / hi res toggle - currently the 'fronds'can be turned off but ideally it'd be nice to have a few polygons with the render UVmapped on automagically



the user can adjust :
  • the position along the stem where the fronds start
  • the sweep thickness of the stem via ramp
  • the poly detail of the stem
  • the overall shape of the fronds via a ramp
  • the angle fronds grow out and down toward the base of the feather
    vs how perpendicular from the stem they are
  • the number of fronds and the detail of the curves 
  • the render width of the fronds / curves.
  • the thickness of the individual fronds via a ramp
  • the noise on the fronds
  • the overall  bend and twist of the feather
Further stuff i want to have a crack at:

a procedural colouring system based on real feathers
subtle randomisation tests on most parameters
irridescent shading
a texture generation system for low res geometry.

Sunday, July 11, 2010

UN-subdivide

rob kelly nutted this out for me...

put in a subdivided mesh with no history...and get the UN-subdivided equivalent out of it.

he uses a VOPSOP that counts how many neighbors a point has, and if it has 4, then
it can be removed. The trick is to delete every second face first , then check every points neighbor count,
then on another version, delete every second face/prim - but starting from prim #1 as opposed to prim  #0,
then repeat the neighbor count and point removal.

Combining the two results gets you the un-subdivided mesh.

The example file is on odforce here, and shows two methods of achieving the same result.

nice work Rob Kelly ! :)