motion3d – 3d engine, Delphi (2000-2001)


• 1.7MB

Back in 2000, I decided to stop the hyper64 development for a while so I could learn more about hardware 3d rendering. My last experience with hardware at the time was when I recoded portions my first software 3d engine, the one used in hyper’s samples, to the 3dfx Glide API. It is a very simple API when compared with OpenGL which was more powerfull, so it seemed like a logical step.

This engine is very minimalist, reads and displays models and quake3 maps without any visibility processing. So it’s probably as simple as an engine can get.

m3d1 m3d2
m3d3 m3d4


•  Loading of ASC, MS3D (milkshape) models.
•  Loading of GEOM maps, generated by bspconv.
•  Loading of PNG images into Buffers.
•  Pilot and Target cameras.
•  Hyper32/64 style Buffer class, which takes advantage of hardware acceleration for advanced 2D operations. Usefull for head-up displays. Also used as texture map source.
•  Wire, flat, gouraud, textured and environment mapping.
•  Typical Alpha-Blending operations.
•  Primitives like pixels, lines and rects.
•  Dynamic meshes.
•  Dynamic vertex normal generation.

Third-party credits:

•  OpenGL12 Delphi interface by Mike Lischke.