Not logged in, Join Here! or Log In Below:  
News Articles Search    

Submitted by malkia, posted on September 27, 2000

Image Description, by malkia

This is a little bit update version of my experimental voxel space engine, it's using now GLUT instead of LibAUX, also i've put FOG, and was adjusting colors and other stuff. Next thing i will do is mixing more than one texture into heightfield (currently only one is used). My idea is using OpenGL to gain the same quality of my previous software engine at

Currently this engine (384KB) can be downloaded from

Though it's experimental, and not 6DOF, it can be used for writting some RETRO fighters, or just simple heightfield viewer.

Heightfield is 1024x1024, but actually 2048x2048, becuase i've done mipmaps for it (non-uniform). Cause algorigthm used is using heightfield slicing (like texture mapping), and there will be aliasing when a lot of height field pixels must be skipped, so i've put mipmapping.

Source is available on request at or

Image of the Day Gallery


Message Center / Reader Comments: ( To Participate in the Discussion, Join the Community )
Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.
The Wolf

September 27, 2000, 01:06 PM

The color variation is nice, bet you can get it to do stuff like Jane's F-16 terrain
you just need a skybox (or better yet a skysphere). I'll check the demo when I get home.

great work


September 27, 2000, 01:32 PM

Well done ! How did you generate the terrain height map ? I'm making an engine too (, and i'm interested to know the technique you used :)


September 27, 2000, 03:02 PM

That looks like a perlin noise generated terrain


September 27, 2000, 04:00 PM

Map is from Commanche II,
and i don't know how they generate it.

The rendering algorithm is fake, and terrain must be presmoothed using box2x2 filter (2-3 passes). Otherwise you'll see waving.

Alex Chapmandard described well the algorithm in

Also have some engine.

I'm currently giving away the idea of slicing the heightfied
(the algorithm here presented). I'll try to implement (if i
have time) some optimized raycasting scheme using heavy pre-
calculations. With raycasting the engine will never skip pi-
xels, and waving will not occur, also a great details can be
made. Though everything is experimental - just for fun...


September 27, 2000, 06:33 PM

Very nice voxel landscape. Runs very smooth.


September 27, 2000, 07:30 PM

Why were you using libAux to begin with?

When I read that, I began to cry. libAux was buried SO long ago... (specifically, it's what GLUT was replacing in OpenGL 1.1, if memory serves)

Don't use libAux. Don't admit to using libAux. It's nasty.

Oh well. At least you're doing oldskool voxel rendering with newskool hardware. I gotta give you some level of props for that.

Marco Al

September 27, 2000, 08:20 PM

Its not necessary to give up slicing if you dont want to. Only you always have to slice through epi-polar lines to get the ray-to-ray coherence you get in the tutorial. Which only run along pixel columns if you dont pitch or yaw. See the paper "A Terrain Rendering Method Using Vertical Ray Coherence" at

Someone used the same relation ship to speed up image warping instead of raycasting at


September 27, 2000, 09:09 PM

Fluffy: yes, man, you are perfectly right. My first error was some
tryings with original LIBAUX from SGI (i didn't know it will
never work on Win95) but the biggest problem was including "aux.h"
which causes MSCV... to hang. After i've done my software voxel-
space engine, i decide to learn OpenGL and port to it. It was my
first OpenGL proggy (june 1999). And i didn't know at this time
about GLUT.. Now I know - everything with GLUT - sometimes it's
hard, but GLUT and to be PORTABLE!! I've learned yesterday how
to use font support, so I'm on it.

Marco Al: I'll check that, thanx, i'm going there right now.


September 27, 2000, 11:30 PM

malkia: After you've outgrown GLUT (it didn't take me very long), consider GTK. It's a platform-independent windowing toolkit which has been ported to a number of platforms (originally written on Linux, but it exists under most/all UNIXen, Windows, and even MacOS IIRC), and it's got a GTK widget.

Myself, I just code to raw Xlib for now, since I can always wrap my Xlib-based rendering widget in another toolkit's generic canvas-type widget, and porting a raw Xlib widget to other platforms isn't too difficult either.


September 27, 2000, 11:38 PM

fluffy: You are kind of Linux OpenGL guy and i want to ask you about that DRI - Direct Rendering Interface. I'm interested in it - cause it will provide direct way of transfering my 2D triangles to the hardware. Is there anything for Windows like it? Or it's only Linux related? thanx again, for the GTK (the problem is - C++ - i like C++ - but C++ doesn't like me :))

Alex J. Champandard

September 28, 2000, 04:40 AM

It's nice to see someone is actually using the algorithm I described :P


September 28, 2000, 04:54 AM

C'mon Fluffy, let's keep the OS wars out of here. GTK is a primitive, C-based huge piece of bloat. It IS portable - it's ported from Linux to Linux and Linux, and also to several versions of Linux :-) It totally kills a Win32 system (witness GIMP for Windows, it can't even properly invalidate its menus).

Anyway, in spare-time projects I prefer to write software rather than PORT it and to explore the limits of current hardware, so extended OpenGL + GLUT is all I need.

malkia, why don't you show your mad DX7 skillz and port this engine to DX ? DX newbies like me can only find TONS of BAD OpenGL source on the Net, not much DX...


September 28, 2000, 05:03 AM

I pressed w and..... Is that really how many polygons u're drawing? :)

If so, u could add a high frequency repeating noise function on top of the heightmap to give a bit more detail.

Alex J. Champandard

September 28, 2000, 05:15 AM

Yeah, but you'd get a lot of wobbling if you did that... sadly.


September 28, 2000, 06:20 AM

yes, :)) :((( ...

Alex is right - a lot of wobbling, actually data was two pass 2x2box filter presmoothed otherwise you can see wobbling. I found some document saying how to remove this wobbling... But still reading it...

This thread contains 15 messages.
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.