Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Yeti3D GBA: Difference between revisions

From GameBrew
m (Text replacement - "type=Game engine" to "type=Game Engine")
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 8: Line 8:
|title=Yeti3D
|title=Yeti3D
|image=yeti3dgba02.png
|image=yeti3dgba02.png
|description=Portable GameBoy Advanced 3D Engine tech demo.
|description=Portable GameBoy Advanced 3D engine tech demo.
|author=Derek Evans
|author=Derek Evans
|lastupdated=2003/08/13
|lastupdated=2003/08/13
|type=Game Engine
|type=Development
|version=2 Demo
|version=2 Demo
|license=Mixed
|license=Mixed
Line 47: Line 47:
==External links==
==External links==
* Author's website - [https://web.archive.org/web/20050403113342/http://theteahouse.com.au/gba/ http://theteahouse.com.au/gba/] (archived)
* Author's website - [https://web.archive.org/web/20050403113342/http://theteahouse.com.au/gba/ http://theteahouse.com.au/gba/] (archived)
[[Category:GBA homebrew games]]
[[Category:Homebrew game engines on GBA]]
[[Category:GBA homebrew demos]]

Latest revision as of 11:03, 11 Mayıs 2024

Yeti3D
Yeti3dgba02.png
General
AuthorDerek Evans
TypeDevelopment
Version2 Demo
LicenseMixed
Last Updated2003/08/13
Links
Download
Website
Source

This is the second public release of the Yeti 3D Engine. The Yeti engine is a fully featured 3d engine designed for low cost portable devices, namely the GameBoy Advanced, mobile phones and Palm units. It should therefore run on just about anything.

User guide

These are design notes for the Yeti engine. Other engines use very different algorithms.

  • 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.

Media

Yeti 3D GBA Engine Tech DEMO (Jaroslav Dolejší)

External links

Advertising: