TUTORIALS INDEX

 


Great gifts for the contributors!

 
  Home  
  Tutorials  
    The 3d engine    
    OpenGL and GLUT    
    Texture mapping    
    3ds File Loader    
    Vectors and lighting    
  Projects  
  Useful links  
  Store  
  About  
 

 
     
 

Subscribe to know
 about the latest updates

 
     
 

SPACESIMULATOR.NET IS PROUD TO PRESENT...

3D ENGINE TUTORIALS: FROM VERTICES DEFINITION TO SPACE FIGHTS!

In these lessons I will explain how to construct a 3d engine in C using OpenGL. I assume that you already have a basic knowledge of C. If not, I advise you to study it before reading these tutorials (there are tons of online tutorials for C). The engine that we are going to build will be structured to account for open environments, include features suitable for space simulators (after all, we are at spacesimulator.net) and will take into account that in the future will be added sections to manage landscapes and more advanced tutorials in which I will reveal some solutions that I have implemented in my own 3D engine. However, I will proceed gradually from the most elementary concepts to the more complex ones.

More advanced tutorials are in development. I plan to release about four tutorials every year. If you want to keep yourself informed as to when I will release a new tutorial, please subscribe to the mailing list by sending a mail to subscribe[at]spacesimulator.net.

I would also appreciate it if you would tell me your opinion regarding my tutorials: how they are written, conceptual or grammar mistakes, suggestions and so on. I am only a programmer and I cannot guarantee that my work is perfect. Surely there are mistakes. I am also not responsible for any damage that may occur from using my source code and/or the files from this Web Site.

The code was developed using Visual C, but I think you won't have too many problems using other compilers. At the moment, I am looking for ports to other platforms and other languages. Please let me know if you are interested in doing it.

N. Tutorial (English) Translations Source code Screenshots Description
1 The 3d engine Dutch
French
German
Italian
Spanish

All platforms

Basic definitions: 3d engine, vertices and polygons. The first step to create the data structure for a 3d engine.
2 OpenGL and GLUT French
Italian

Windows
Linux
SDL
MAC OS

Here we analyze the rendering pipeline, the graphic library OpenGL and the utility library GLUT. At the end of this lesson we will be able to show a rotating solid object!

3 Texture mapping  

Windows
Linux
MAC OS

How to load an image and use it to cover an object. This technique is called texture mapping and is the most responsible for the realism of the scene.
4 3ds Loader   Windows
Linux
SDL
MAC OS
The data structure for a complex object can't be written by hand. There are a lot of programs that help to create 3d meshes in a very quick way. In this lesson we study how to load a 3ds file, a format that is really famous on the net.
5 Vectors, normals and OpenGL Lighting   Windows
Linux
Lighting is the other important thing, after texture mapping, that adds to the scene further realism. Without lights all the objects seems flat.
We will study also Vectors and normals because they are indispensable to make lighting calculations.
6 Matrices and multi-objects loading   Windows

 

In this lesson we will improve and extend our object structure, we will be able to load some objects in our scene and manage their positions and rotations using matrices.

If you want to support this web site and have the possibility to use the source code of the next lessons I invite you to make a donation.

Read more info on the store section!

DONATIONS! THE BEST WAY TO KEEP ALIVE SPACESIMULATOR.NET!!!

7 Camera and 3d freedom   Windows (only exe)

Windows (source)

Of course our biggest aim is to explore the universe by moving ourselves through it as we like, making the monitor a free moving video camera. How can we do this? Simple: with the videocamera tutorial!

8 Print fonts using display lists   Windows (only exe)

Windows (source)

All this advanced graphic programming and then? We forgot to print simple fonts on the screen! We will do this using a bitmapped font, the best way to develop multiplatform games! 
9 .INI configuration files - Parser   Windows (only exe)

Windows (source)

Where can we store all our Universe settings? Ini files are the best choice! Very useful and portable library to read/write INI files!
10 SDL Framework and FPS calculation   Windows (only exe)

Windows (source)

This os-platform independent framework will give us the possibility to manage all the boring stuff that a videogame needs: graphic context, sound and input.
11 Physics: Dynamics, Acceleration and Force   Windows (only exe)

Windows (source)

Physics, the secret to give life to our spaceships. In this tutorial we will add the essential rules to our engine to simulate a real universe.
12 Physics: Collision Detection and Collision Response   Windows (only exe)

Windows (source)

Another tutorial on Physics: this time we will learn basic collisions detection and collision response.

 

 

 

 

©2000-2005 Damiano Vitulli. All Rights Reserved. No Portion Of This Site May Be Reproduced Without Permission. Best viewed at 1024x768.