3D-Programming

What is this all about?
03.01.2004: I've fixed the broken links to my source code and executables.


  This page is devoted to 3D-programming, my progress into that magic world and the technics and tools I am gathering along the way.

  Although the mathematics and algorithmics on which all this is based are universal, their implementation is particular. Most of the source code you will find here is Borland Delphi. My early attempts were pure Delphi; then I began using OpenGL hard coding, to finally settle down with Eric Grange's GLScene, a very powerful OpenGL wrapper for Delphi and Kylix.

  I'm making my way into this world by programming small projects, which you will find on this site. However, my efforts are canalised along a unique main thread: building a 18th century ship-of-the-sail simulator. The physic engine I have written long ago, but only with 3D-programming will the simulation reach the state I am envisioning.

  On my way to this goal, I am developping demos, components and side projects, which you will find on this site. Most of them are open source. These pieces are grossly sorted chronologically, the earliest first.
 

Sail-navigation engine


HMS Victory, Portsmouth, GB


  This was the first step: understanding and modelling the mechanics and dynamics of a ship-of-the-sail. I made this model several years ago. I first tried to make my own 3D-engine but quickly understood it would be a lot of work. I made then different tries, leading me even to port the model to C++. However, in all case I couldn't control completely all the phases of the programming and this was somewhat frustrating. With OpenGL and GLScene, I feel now that I have the right degree of control without all the hassles of low-level coding.

  You will see here the different steps of this work. I am now in the process to link it to a 3D-model of the ship, based on the GLScene OpenGL library. The first results are quite encouraging!

  Go there!
 

Various OpenGL stuff

  Here you'll find my earliest steps into OpenGL, as well as various little demos I've made along the way: So fare there are:
  - NeHe's lessons 23 and 25
  - GLScene Planet

  Go there!
 

Spaceship

  This is a simple space ship simulator I made principally to learn the bases of OpengGL and GLScene. It taught me how to link a simple physic model to its 3D-visualisation, the basics of GLScene object implementation, collision detection and also I had to implement a level-of-detail algorithm to render the asteroid field. There is also a fractal asteroid generator. The code is quite messy because it was my first OpenGL application and I had a lot of things to learn on the way. I shall probably come again to this project in the future to clean it and improve it.

  Go there! (Still under construction)
 

Random landscapes

  Again this was mainly an programming exercise but it is more oriented toward the ship simulator. The final result here is a fractal algorithm allowing one to build an infinite random archipelago landscape with swelling sea and treacherous shoals. This might well be the base of the ship environment.

  More interestingly, there is a set of GLScene components allowing a developper to easily incorporate random landscapes and sea effects in his application.

  Go there!
 

Seagull simulator

  Still learning the bases of GLScene, but this project begins to be a little bit more interesting. Here I am learning how to animate a skeleton-based model. I'm not sure how it will be related to ship simulator, but it was something I had always wanted to try, and this seemed the right time to do it. If nothing else, I shall have gulls flying around my ship! The wind field model could be useful too, once simplified. And I could populate the ship with skeletal-actors, although it is not planned so far.

  Go there!
 

Open Source

  Most of the demos and programs shown on these pages are open source. They are coded in Borland Delphi (mostly D6). Most of them are based on the GLScene library, which you can download from the GLScene site.

  When source is not provided, it's because either it is not finished or it is too old to be useful and is or will be included in my latest work.
 

 OpenGL links

GLScene: Delphi OpenGL and 3D-geometry libraries, by Eric Grange
CapeRaven: Tutorials and demos for GLScene

NeHe's site:  Tutorials from basics to advanced OpenGL programming
The Red Book of OpenGL: All that you want to know about OpenGL and 3D-geometry.
Delphi3D

Lemog's texture3D: Extensive texture library. Almost all the textures used in my demos come from this site (see individual programs for credits).
 


Contact the webmaster  
Updated 03.01.2004

Do not e-mail to this address, it's a spam trap: honeybottle@icmail.net