dirt_lobe_raster 
One rounded part's mess while dirt_lobe_rasterise() lays it: each pixel's role so far and the highlights.
Vars | |
| glints | The highlights' pixels, in the order they were laid. |
|---|---|
| inside | TRUE on each of the part's pixels. |
| kind | A DIRT_PART_* define. |
| level | 1 to DIRT_PART_MAX_LEVEL. |
| seed | The noise seed of the blobs' ragged edges. |
| solid | Each pixel's role so far, a DIRT_ROLE_* define, or null. |
Procs | |
| New | Arguments: |
| blob | Lays a ragged drop on a lobe: an ellipse round a spot a fraction across and down it, its edge broken by noise, kept to the lobe. Its lowest pixels with no drop pixel under them are core, the rest body, and its topmost pixel a highlight. |
| blob_points | Returns the pixels of a lobe a ragged ellipse covers: where ((x - centre_x) / radius)^2 + ((y - centre_y) / (0.85 * radius))^2 plus a share of noise is at most 1. |
| draw | Draws what was laid onto a mask: the solid roles and the highlights on the part's pixels, then the fringe. |
| drip | Lays a drip down a lobe from a drop: on each row below it, as far as drip_length, at the place across the row the
drop started from, stepping out from the midline every few rows (every other on a flat chest, where the form gives a
drip no bend and a straight column under a blob spelt T). Level 3 breaks it into beads with skin between them. It
ends in a bead with a highlight and a grey underside. |
Var Details
glints 
The highlights' pixels, in the order they were laid.
inside 
TRUE on each of the part's pixels.
kind 
A DIRT_PART_* define.
level 
1 to DIRT_PART_MAX_LEVEL.
seed 
The noise seed of the blobs' ragged edges.
solid 
Each pixel's role so far, a DIRT_ROLE_* define, or null.
Proc Details
New
Arguments:
- inside: TRUE on each of the part's pixels.
- seed: The noise seed of the blobs' ragged edges.
- kind: A DIRT_PART_* define.
- level: 1 to DIRT_PART_MAX_LEVEL.
blob
Lays a ragged drop on a lobe: an ellipse round a spot a fraction across and down it, its edge broken by noise, kept to the lobe. Its lowest pixels with no drop pixel under them are core, the rest body, and its topmost pixel a highlight.
Arguments:
- shape: The lobe's shape, from dirt_lobe_shape().
- across: Where across the nearest row, -1 its left end and 1 its right.
- down: How far down the lobe, 0 its top and 1 its bottom.
- radius: The drop's radius across, in pixels; it's 0.85 of that tall.
- noise_offset: Added to the noise seed: each drop on a part breaks its edge differently.
- away_from: Rows the drop keeps 2 px clear of, moved below them or else above them, or null.
- most: The most pixels it may cover, shrinking until it covers no more, or null for no limit.
- centred: Whether it's held within a pixel of the lobe's centroid: on the hip crease the vulva's read as off target.
Returns list(its lowest pixel, ties to the side away from the midline, or null when it covers none; the row it's centred on; how many pixels it covers).
blob_points
Returns the pixels of a lobe a ragged ellipse covers: where ((x - centre_x) / radius)^2 + ((y - centre_y) / (0.85 * radius))^2 plus a share of noise is at most 1.
Arguments:
- lobe: TRUE on each of the lobe's pixels.
- centre_x, centre_y: The ellipse's centre.
- radius: Its radius across.
- noise_offset: Added to the noise seed.
draw
Draws what was laid onto a mask: the solid roles and the highlights on the part's pixels, then the fringe.
Arguments:
- drawn: The mask, added to.
drip
Lays a drip down a lobe from a drop: on each row below it, as far as drip_length, at the place across the row the
drop started from, stepping out from the midline every few rows (every other on a flat chest, where the form gives a
drip no bend and a straight column under a blob spelt T). Level 3 breaks it into beads with skin between them. It
ends in a bead with a highlight and a grey underside.
Arguments:
- shape: The lobe's shape, from dirt_lobe_shape().
- start: The drop's lowest pixel.
- across: Where across each row, -1 its left end and 1 its right.
- drip_length: The most rows it runs down.