L3DT development blog
Large 3D terrain generator

News for February 2007

February 8

Sapphire renderer

Hello all,

Progress is finally being made on the new 3D renderer for L3DT. Currently in development, Sapphire is a plugin that aims to totally replace the venerable L3DTVi2 renderer, which has not been maintained for some years now due to a lack of an interested and Delphi-literate developer. Unfortunately, this has left L3DTVi2 lagging a behind L3DT in several areas, and maintaining compatibility between the two programs has become increasingly difficult. Indeed, it's now at the point where it is easier for me to make a new renderer than it is for me to hack L3DT to be backwards-compatible with L3DTVi2.

Sapphire is based on the Zeolite plugin API, which does all the file loading/saving and map/mosaic management for the plugin. This is good, as format support was a major problem in L3DTVi2, which was written in a time when L3DT only supported the 16-bit HFF format for heightfields, JPEG/BMP for textures, and MGF for map projects. Now, heightfields are typically saved in TER or BT formats, or even image formats, and the L3DT project file has been changed to  PROJ (although MGF is saved in legacy mode). By making the renderer in a plugin, it no longer requires its own file-handling support, which will make maintenance significantly easier than it was for the standalone L3DTVi2.

I suppose a screenshot is required, so here it is. It's nothing fancy, but as you can see from my Sapphire to-do list, there are still many things to be done before Sapphire reaches feature-parity with L3DTVi2. As it stands right now, it is actually completely broken whilst I change the terrain LOD algorithm from a simple view-dependent mipmapping algorithm to a proper ROAM-based implementation, as is used in L3DTVi2.

I plan to have a public beta-release ready within the month. However, as of about two weeks ago I had never even looked at OpenGL programming, so progress is still a little slow as I 'learn the ropes'. To make things harder - albeit more intellectually stimulating - I'm also doing this without the help of 3rd-party engines such as Torque, Ogre, Irrlicht, GLScene, Blitz3d, etc. This is just OpenGL, C++, a smidgen of MFC, and my own Zeolite API. I'll probably hold the release of L3DT v2.5 back to include the plugin beta with the installer. That probably means L3DT v2.5 won't be here before March.

Oh, by the way, since I'm writing Sapphire myself, it will be an officially-supported component included with L3DT. This means bugs will be fixed, questions answered, and documentation provided. I may even implement feature requests! However, I may also increase the asking price for L3DT Professional to cover this additional effort and time-commitment. More on that later…

Cheers, Aaron.

2011/01/13 07:34
l3dt/2007/feb.txt · Last modified: 2017/08/31 05:01 (external edit)
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Share Alike 3.0 Unported
L3DT Development Blog RSS Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki