Resource icon

Yeti 3D Sourcecode

  • Author Derek John Evans, port by jduranmaster
  • Creation date
Yeti 3D Engine (GBA version by Derek John Evans) ported by jduranmaster

- The current viewport is 120x80 pixels, 15bit.
- All textures are 64x64 8bit.
- Textures are converted to 15bit via a pre-calculated lighting LUT.
- Polygons can be any convex shape. Only squares are currently used.
- Each vertex is described as X, Y, Z, U, V and brightness.
- The renderer uses 24:8 fixed point maths.
- Polygons are clipped in 3D space using 45 degree planes. Distance to plane
calculations therefore use only additions and subtractions.
- Polygon edges are clipped using one divide and 6 multiplies.
- 4 clipping planes are used. No front plane is required. No back plane is used.
- No per-span clipping is used. Fixed point errors are hidden offscreen.
- Ray-casting is used to build a visablity list and valid polygon rendering order.
- Models are merged into the VIS without sorting.
- No Z-buffers are used. Rendering is back-to-front (painters algorithm).
- The is an acceptable level of overdraw. Complete polygons are culled. Polygon edges
are drawn faster than using a per span clipper.
- Lighting is pre-calculated on startup. Lighting can be moved at runtime.
- Lighting is expanded per vertex and interpolated along polygon edges.
- A reciprocal table is used to eliminate all divides from the DDA texture mapper.
- The affine texture loop is unrolled and renders blocks of 32 pixels.
Author
Derek John Evans, port by jduranmaster
Downloads
480
Views
480
First release
Last update
Rating
0.00 star(s) 0 ratings
Back
Top