|
Saturday, 20 February 2010 22:53 |
Whoops, over three months since the last news item! So what's going on here at Thermite3D? Well I actually took a long break over the Christmas and New Year, period, spending five weeks travelling around Thailand, Malaysia, and Singapore. So naturally I didn't get to work on Thermite in that time.
Since my return I have been working on the background threading and LOD aspects of Thermite and PolyVox. A good LOD system is something which has constantly eluded me so far, mainly due to the difficulty in avoiding cracks between regions with different LOD levels. This is enough of a problem in normal terrain engines, but when you add the extra dimension of a voxel engine it gets even more difficult. However, I now have a new system in place which I'm fairly happy with.
Lastly, I'm happy to announce that the upcoming book 'Game Engine Gems Volume One' features an article about PolyVox and Thermite, written by myself. The article covers many aspects of the system and gives implementation details. I hope it will be useful for anyone else wishing to integrate similar functionality into their own engine. You can find out more about the book at http://www.gameenginegems.com/ |
|
Switch to zlib license and new demo |
|
Tuesday, 10 November 2009 23:13 |
|
After much thought we have decided to switch Thermite3D and PolyVox to the zlib license. This license is more permissive than the GPL and allows for commercial use. The source code and other relevant files in SVN have been updated, as has this website. Please let me know if you see any references to the old license and I will rectify them. Also, we are releasing another demo of the Thermite3D engine. This demo shows how Thermite can be used to create a simple terrain editor supporting caves and overhangs. It is very basic but was written to accompany an article I have been writing about voxel-based game engines. More about that soon... |
|
Thursday, 01 October 2009 20:44 |
We've just had our 1000th commit to SVN! Ok, I'll admit it's nothing very exciting (just some refactoring to further separate engine logic from game logic) but none the less it can be taken as a positive sign that Thermite is under active development.
However, development is actually slightly slower than usual for the next month or two because I'm working on something else closely related to Thermite. I can't say much about it at the moment, but hopefully I can reveal more in three to six months time... |
|
Wednesday, 02 September 2009 19:54 |
|
Following on form my previous update in July, Jaz and I have spent the last month or two working to build a simple game around the Thermite3D game engine and the concept of fully destructible environments. The game will be called 'Apophis 2036', and involves defending the earth from the incoming Apophis asteroid. There is no game play yet, but we do have a destructible model of the Earth.
One of the drawbacks of the voxel-based Thermite3D engine is it does not support traditional UV texture mapping (because geometry is generated on-the-fly, there is no chance for the artists to assign UV coordinates). This work on a destructible Earth has given a good opportunity to demonstrate how texturing can be performed without explicit UV coordinates: - The surface of the Earth is based upon NASA's Blue Marble data set, converted into a cube map. The normals of the Earth are then used to look up the appropriate colour.
- The rock just under the surface is done with triplaner texturing (as has been seen in previous screenshots).
- Perhaps most interestingly, the lava in the core is generated using real-time 4D Perlin noise on the GPU. This means that it is actually animated (I might make a video at some point). To shade each fragment, it's world-space x,y,z position along with the current time are fed into the Perlin noise generator (ported from GPU Gems 2). Four octaves of Perlin noise are combined and the result looks up into a lava-coloured gradient texture.
Anyway, I haven't prepared a demo this time so you can't try it. The latest demo is still the July 2009 release. But I'll try to release another demo over the next couple of months.
|
|
July 2009 release available |
|
Tuesday, 07 July 2009 19:41 |
|
A new release of the Thermite3D engine is now available, and can be downloaded here: http://www.thermite3d.org/releases/Thermite-July2009.zip The main changes since the previous release are: - Support for larger and non-cubic volumes. The previous demo only featured volumes of 256x256x256 voxels, where as the new version contains some maps which are 1024x1024x256.
- An optimised version of the Marching Cubes algorithm in PolyVox, which now runs 2-3 times faster than before.
- A multithreaded surface extractor which lets you interact with the environment while it is still being generated, and which also improves load times.
- The start of a new material system, so that every voxel no longer has to use triplanar texturing. This will be built upon in future releases.
- Some new artwork, courtesy of Jaz Wilson.
Please feel free to give any feedback in the forum. |
|
Sunday, 08 March 2009 13:05 |
|
A new demo of the Thermite 3D engine is now available. You can get it here: http://www.thermite3d.org/releases/Thermite-March2009.zip
To summerise the changes sine the last demo: - New game engine framework based on Qt. I have also released the framework separately here
- Ability to load scenes from .scene files. Only a few xml node types are currently supported, but there is an additional 'volume' xml node type to place the volumes into your scene. In the previous demo the scene and objects were hard-coded.
- Support for sky boxes.
- Support for dynamic shadows via shadow maps. This is actually turned off in the demo as it needs some work but you can see it in the castle screenshot below.
- New Level-Of-Detail solution. Move the camera a long way back to see this in action. May still need some work!
- A heightmap to volume converter for creating destructible lansdscapes from heightmaps.
- Some very basic gameplay, allowing you to control a cannon and destroy the landscape.
Please use the forum thread to post any questions you have about this release. |
|
Tuesday, 03 March 2009 23:25 |
|
I've recently been pleased to notice that activity is starting to build up in the Thermite and PolyVox forums. I seems a few people have now noticed the project and are expressing an interest in making use of it. With this in mind, I thought it was worth an update to say what I've been doing and what comes next. The big change is that the new QtOgre framework has reached a point where it is useable, and Thermite has been ported to it. The framework itself is now an Ogre addons project and more details about it can be seen here: http://www.ogre3d.org/forums/viewtopic.php?f=11&t=45709 The new framework basically combines Qt (a flexible GUI toolkit - see http://www.qtsoftware.com/) with Ogre3D (the 3D graphics engine - see http://www.ogre3d.org/). This provides a library for building 3D games which is now the foundation for Thermite. Themite then intergates PolyVox (for destructible environments) and the Bullet physics engine. This all sounds like a lots of components and dependancies, but some of the other dependancies such as OIS, TinyXML, and CEGUI have now been removed because Qt can do input handling, XML parsing, and GUIs. Earlier demos of Thermite were mostly hard-coded in terms of what they could do. They basically consited of a single level with cubes and spheres which appeared at predefined locations and bounced around. This was fine for demonstrating the technology, but not so good for creating an actual game. Hoever, the latest version now makes use of Ogre's .scene format to allow worlds to be specified via an XML file. This is being extended to allow volumes to be specified this way as well. It's all a bit preliminary, but it is already possible to add objects, control some physics, and specify skyboxes and lighting via the XML files. Lastly, I have started writing a heightfield to volume converter to aid in the creation of fully destructible landscapes. More to come on this as it progresses. So what's next? Well I hope to release another preview release this weekend to show off the QtOgre framework and hopefully demonstrate some extreamly simple gameplay. It's a bit rough round the edges (crashes and runs slowly) but it basically works. Then I hope to spend some more time on PolyVox - this is really the heart of Thermite and I want to make improvments to the size of volumes that can be loaded, the memory footprint, and the speed. PolyVox seems to be the part which people are more immediatly interested in, so hopefully so improvements here will be time well spent. |
|
Progress On New Framework |
|
Sunday, 12 October 2008 22:09 |
|
Seeing as the Subversion repository has been quiet for a couple of months, I wanted to provide an update as to what I'm working on. Well firstly I had some time away - I went to the AustinGDC to give a talk about Ogre and also had a short family holiday. However, I am now back at work although currently not commiting to subversion. I'm actually working on a new framework which will form the basis of Thermite. This new framework is based on Qt and so provides much more comprehensive GUI capabiities than the current version (which is based on CEGUI). Using Qt also brings a lot of other advantages such as networking, XML parsing, input handling, logging, etc, and so will also help reduce dependencies and simplify installation. The project is going well, and at the current rate I expect it to be released around the end of the month (I hope to place it in Ogre addons). It wil take a couple of weeks to port Thermite3D to the new framework, though. |
|
LOD, Skyboxes, and Shadows |
|
Thursday, 07 August 2008 20:49 |
|
Well, time for an update as it's been two months since the site was launched. I've been working on a few different things: - PolyVox now supports the generation of meshes at different levels of detail. Some initial work has been done to integrate this into Thermite so that it will choose the appropriate level of detail based on the distance from the camera, but there is more work to do here.
- Thermite now supports skyboxes to help give the impression that the voxel model you are seeing is part of a much larger world.
- Thermite now supports shadows via depth shadow mapping. This is a fully dynamic shadowing technique and therefore fits in well with the idea of fully destructible environments. There is more work to be done to increase the quality of the shadows and to soften the edges, but initial results are promising.
Next I hope to prototype some more graphical techniques - Scree-Space Ambient Occlusion should help provide more realistic lighting while some form of Relief Mapping should help add sub-voxel details. Stay tuned! |
|
Thursday, 22 May 2008 19:36 |
|
The Thermite3D website is now live! Visit http://www.thermite3d.org for the latest information on the development of the Thermite 3D Engine and PolyVox Technology. Over time, more material will be added in the form of additional documentation, media, and downloads. |
|
Sunday, 20 April 2008 17:06 |
|
I have now got an initial integration of the Bullet physics library with the Thermite3D Engine. Mesh data from the PolyVox library is now sent to Bullet as well as Ogre, meaning that rigid bodies interact correctly with the environment. There is much work to be done improving the speed of the integration (especially when modifying the environment) but the initial work can be seen in the current tech demo. |
|