Each glyph is first broken down into nodes around it's edge (about 50 on average). These nodes are then added into a block of cells in a grid, aka distance cache squares, which they are "in range" of. Each output pixel then checks which of the nodes in the cell it's in is the nearest, and then bases its final colour from that.
Public Member Functions | |
DistanceCacheSquare (int x, int y, int index) | |
void | Setup (Scanner scanner) |
Called just after the whole grid has been created. More... | |
void | Clear () |
Clears this square. More... | |
void | Add (float x, float y) |
Adds the given glyph outline point to this square. More... | |
Public Attributes | |
int | X |
X coordinate of this cell in the distance grid. More... | |
int | Y |
Y coordinate of this cell in the distance grid. More... | |
int | Index |
Array-level index of this cell in the grid. More... | |
int | Count |
Points in this cache square. More... | |
DistanceCacheSquare[] | SearchSet |
A set of cache squares (including this one) which should be searched when running proximity tests from within this square. More... | |
List< DistanceCachePoint > | Points =new List<DistanceCachePoint>() |
All the points in this square. More... | |
|
inline |
|
inline |
Adds the given glyph outline point to this square.
|
inline |
Clears this square.
|
inline |
Called just after the whole grid has been created.
int Blaze.DistanceCacheSquare.Count |
Points in this cache square.
int Blaze.DistanceCacheSquare.Index |
Array-level index of this cell in the grid.
List<DistanceCachePoint> Blaze.DistanceCacheSquare.Points =new List<DistanceCachePoint>() |
All the points in this square.
DistanceCacheSquare [] Blaze.DistanceCacheSquare.SearchSet |
A set of cache squares (including this one) which should be searched when running proximity tests from within this square.
int Blaze.DistanceCacheSquare.X |
X coordinate of this cell in the distance grid.
int Blaze.DistanceCacheSquare.Y |
Y coordinate of this cell in the distance grid.