Submitted by , posted on 26 February 2005

Image Description, by

GLoadX is a 3DS model viewer that was developed over several months as the core of my CV (my demo). It is comprised of two identical windows that simultaneously render in OpenGL and DirectX. It should give artists a good idea of what their models will look like when rendered in-game without needing to export to and load from an arbitrary format.

You can download GLoadX at

  • Handles many of the intricacies in the 3DS model format resulting in a high success rate loading models.
  • Supports keyframe animation.
  • Supports smoothing groups.
  • Simultaneously displays models in OpenGL and DirectX.
  • Simple uncluttered resizable user interface.
  • Supports multisampling (for cards that support it).
  • Support single pass texturing with BMP, JPEG and TGA images.
  • Menu options to change light mode, primitive, show normal vectors, display model and loading information.
  • Performs many optimisations during load time (removing duplicate vertices, animation nodes and materials, removing superfluous keys from the keyframe hierarchy, splitting complex facelists etc).
  • Can render with or with out keyframes to support 3DS models without animation that contain key frames but do not use them to locate model elements (these models will look wrong in 3D Studio Max but correct in Bryce).
  • I have put a lot of work into trying get GLoadX models to match 3D Studio Max. I've tested 354 models and about 95% of these are correct. Of the 5% of models that don't match, most of the problems are minor^ eg smoothing group errors or material differences. I will be investigating these problems further over the next few weeks.

    Beyond that, I am planning on adding support for bump-mapped models (assuming I can find any) and adding stencil shadow volumes.

    I am keen to hear any feedback, particularly from those that have battled with the insides of the 3ds format before. As this is also my 'demo' I would also welcome any comments regarding its appropriateness for the task (keep in mind I am aiming for an entry level programming position).

    Adam Bryant

    Image of the Day Gallery



    Copyright 1999-2008 (C) FLIPCODE.COM and/or the original content author(s). All rights reserved.
    Please read our Terms, Conditions, and Privacy information.