- It's back to school time, so I've decided to pause the
project untill I get some more free time, or renewed interest
in trying out OpenGL features. BTW Martin-Luc, this *is* my
- Fixed a few display bugs
- Started work on the transition scene: the camera flies up
in the air, and floats there for a while
- Added mipmapping; this alone added 20% to my fps, because
the hardware doesn't have to seek all over its memory
to get the relevant information.
- Added a fade-in and the begining.
- Fixed a bug that caused the demo to pause while in the
background, but not the music, so the two would get out of
- Uploaded new version of the demo.
| 30th of July, 2000 - (1 am)|
- Cut the number of trees in half again, to 160. This boosted
the FPS rate to a nice average of 38.
- Enlarged the trees a bit, to fill in the gap left by the
- Fixed a few bugs here and there
- Found a bug in which the music position would continue to
advance even though the program is paused in the
background. This seems to be a 'feature' of DirectSound.
- Corrected the image of the tree a bit, and shrunked it to
128x256, from 256x256.
- Changed the introduction texts a bit. Looks much nicer
- Uploaded the new version of the demo
- Reduced the number of trees to 300 per 60m block. Also
recuded terrain size to 16x48; FPS rate was boosted
- Some minor modifications to the introduction texts
- Added a sort of walking movement to the camera - the demo
looks a lot better now
- 'Been rather busy lately, so work's been going slow on the
- Finished changing the API and file names.
- Restructured the engine (almost completly) to allow use
of interleaved vertex data in OpenGL. When I get the
the triangle stripping working, it should improve
- Modified the sprite engine to use OpenGL exclusively.
- Gouraud shaded the terrain. The next step is perlin noise
- After some testing, I realised that the *trees* are what
was bogging the demo down. Adding or removing anything
else made no difference in the frame rate, but removing
the trees trippled the speed! What bothers me is that
they only composed of 800 triangles (in total), so at
the 13fps I'm doing, that equates to 10 400 triangles/sec.
Add to that the sky and the terrain, and you've got 65 208
triangles/sec, which should be far less than what the TNT
is capable. Worst even, memory bandwidth and AGP1x/2x seem
to have no effect on the speed, as well as the use of
display lists, so transfering the geometry isn't what's
slowing it down. Ditto for the rasteriser: bilinear
filtering and alpha/color/additive blending seem to have
no effect either. Using OpenGL or not for the transform
has also no effect, so that isn't the bottleneck. Converting
the frame buffer from one color depth to another is not
the problem, because it would then take a constant toll
on the frame rate, instead of being a function of the
number of trees.
I'll try some more tests later, but I'm really stomped on this
- Download section is back on-line. New demo has been
uploaded, and added a new screenshot,
- Changed the name of the engine, and the demo. Note that
the API changes aren't complete yet.
- Development has stalled for a while, as I'm spending most
of my free time hacking the Linux kernel. The more I see
and read about it, the less I like the M$ crap I'm
- I've been experimenting on optimizing the engine a bit,
by using display lists and trianlge strips. The latter
isn't working right now. My target is 20 fps on my
412MHz Celery (75 MHz FSB), Riva TNT. I'm now at 10.5
using only display lists.
- Camera moves automatically, in a strait line. It doesn't pivot
to follow terrain inclination though.
- Fixed some timing things
- Augmented tree density, and cut terrain length in half
- Fixed a bug in the frame counter: a magic 10% speed increase!
- Fixed a bug in AllegroGL that made it take a 32bpp mode even
though I requested a 24bpp, and such a mode was available.
The demo now works when the desktop is in 32bpp. It seems,
on the other hand, that alpha testing is broken when
there's an alpha channel in the frame buffer. Don't know
what to blame for this yet, until I try it on non-NVidia
- Uploaded new version of the demo
| 20th of July, 2000 - (1 am)|
- You can now load and display system fonts in the bitmap
and outline formats.
- I've added a little effect with the arial font to the
demo. See for yourselves!
- Also added a background music from the Donkey Kong Country
Sound Track (optional) of very low quality (8-bit, 11KHz,
- Uploaded a new version of the demo
- Started work on adding font loading and drawing support to
- Got the basis working: you will be able to load Allegro
fonts or use system fonts, be it bitmap fonts, outlined,
textured or texture mapped fonts.
- Got some text to display for the bitmap system fonts. But
the color is wrong (always black). Don't know why or how
to fix it.
- A form of 'printf()' has been added.
- Syntax is as easy as Allegro's! You can load a font and
display text in one line each:
AGL_FONT *fnt = agl_load_font("Courrier New") /* (can be a file name) */
agl_printf(fnt, -1.0f, 0.8f, 0.0f, makeacol(255, 128, 0), "Hello world!");
- Added a syncronisation module; now everything is properly timed
- Fixed a few bugs.
- Fixed a bug in the sunrise that would make go green towards the
- Uploaded a new version
| 17th of July, 2000 - (6 am)|
- Beautified the site a little. You may complain to Bob
- Morning already ? Better get some sleep!
| 17th of July, 2000 - (1 am)|
- Got the camera to remain at a constant height from the terrain,
but polys seem to be clipped wrong. On top of that, the height
is calculated from the height-map, and not the actual terrain
mesh, which gives an accurate result that doesn't correspond well
with the visible result :(
- Finally made that sun rise (without the sun) using the color fog
effect. Looks really nice. Added a screen shot of that. So now
the demo starts at night, with low visilibity, and progressively
gets red, then orange, while visibility agments, until it's
finally day and the red fades out.
- Added some more mesh color controls
- Fixed the bug that crashed the computer - turns out I was trying
to read outside the heightmap. (Gotta give credit to M$ - at least
they make descent debuggers :-)
- Who hoo, I'm an official AllegoGL developper! (check AGL out
- Can't seem to get SSH and CVS to work together (can't connect
socket to the sourceforge.net server). I am therefore unable
to update AllegroGL.
- Got rid of all the old matrix code; Everything is now fully
quaternion based. As a side effect: calculations are halved
on vertex transformations.
- Started work on the priliminary demo: the terrain is more of less
done, the trees are dynamically generated.
- Demo starts at night, and progressively gets brighter. I think I
should make it go throug some shades of red and yellow, as to make
it look like sunrise. Might as well add a Sun as long as I'm
there :) - Pete, What do you think?
- Trying to get the camera to follow the terrain; currently not
working (see below)
- Demo makes my computer die a horrible and painfull death :( Seems
it doesn't like my terrain hack too much...
- Got rid of default directories: makes the code a lot nicer now
(and more flexible)
- Started adding more informative error messages.
- Changed the look of this site a bit.
- Uploaded this site
- Temporary workaround for the AlphaTest bug in WinME's OpenGL
drivers for TNTs. It uses alpha blending to compensate, but it
won't work correctly unless the polygons are sorted, which they
are not. Activate by press 'q'.
- Added a Fog effect (still can't believe how easy it was :)
Press 'f' to change the fog mode from exp (normal), to exp^2
(nicest), to linear interpolation (fastest). Also, the keypad's
plus and minus keys will increase or decrease the fog.'c' will now
change the fog color; a night effect is gained for free :)
- Fixed a bug with the camera's position being inverted of the true one.
- Made the trees a bit more random in size; looks much better now.
- Corrected the trees' y-coordinate; it was flawed.
- Corrected the color bug in the terrain code.
- Fixed the sky's location, so it's always at a constant dstance frmo
- Adjusted the camera's original location.
- Updated to the newest AllegroGL + my still-not-applied-by-the-mainteners
patch so it should work in Win95 now. Also the window is properly
configured now (it has a border !)
- Still don't know if I should drop H/W TnL(nC) completely or not.
Using TnL speeds up things on the GeForce and family, but costs the
other cards a bit of performance (as everything has to go by the GL
drivers). Also, I don't know how to get the transformed vertex data from
GL, so I can't do physics simlations, collision detections, etc.
glFeebackBuffer seems like a start, but will I have bandwidth problems
as data will passed 3x through the pipeline (one pass to transform,
one to return the data, and one to raster) ? TnL sucks ^_^
- Wow, that's a lot for 5 hours of work :) Ok, must stop ranting and
get some sleep (it's 3 am).