Monday, December 20, 2010

Learn how to create a 3D engine from scratch

Yesterday I did some work on Revolution Engine SVN. Now there are two versions of the engine in it. One is the latest, almost functional REV-0.6. Almost functional because there are some random crashes, probably related to the text system.
These version is not going to be continued because I designed it's architecture in a way that no longer can support the complexity level the engine was reaching.
That's how the other branch was born. One of the main reasons for creating Revolution Engine was learning. Not only learning, but also sharing all the knowledge generated in the process.
So what I'm doing now, is create a new version for Revolution Engine, and make it's source public from the very begining.
Right now, v0.7 does nothing but a little initialization and some mathematical calculus. I'll try to document all the process. Writing here, in the forums, or the wiki, the reasons for design decisions, architecture decisions, explanations for some optimizations or how subsystems do their work.
All of that will be public, and I'll post here screens and reports of the development process.
Enjoy the development :)

Thursday, December 2, 2010

RMD Ready

Recently I've been working a lot on REV-0.6 (You can checkout SVN for the latest revision). Most of that work has been on the new material system and the new models format (rmd). Now both of them work, and I can say that most of the functionality that was present in REV-0.5 works now at REV-0.6 at svn. However this version is not ready yet for a big release because I still plan to do major changes to other subsystems.

Anyway, I wanted to say that rmd models loading is up and running. This format is easier to expand and loads about 3 times faster than rms or obj so it will be the standard for Revolution Engine now on. Support for animations is planned but not working yet. You can download the new obj to rmd converter from downloads tab at www.revolutionengine.tk

One of the add ons of this new format is the ability to load models that use more than one material. check the wiki at google code to learn more of it.