Latest work: Tutorial 3 on line, texture mapping with OpenGL!       Next step: 3d Studio models loader!
  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

 
     
 

>>2003NOV2

I have an important communication. I know that it's not a great thing to ask for money for a service that until now was completely free. Please don't worry: the source code of lessons 6 and 7 will be released free when I have finished to write the correspondent lessons. Anyway I changed the fixed amount of the donation with a free donation. Please feel yourself free to donate any amount of money and I will send you, as a gift, the source code 6 and 7 in advance.

>>2003OCT30

I am here again. I am sorry for this delay but I had some problems with my current job. Currently I am only a collaborator and I am still looking for a better position. If you are an italian company and you are interested in a software and hardware developer you can download my curriculum vitae from the about section. Thank you for the interest!

I have great news for all the visitors! I have just released the source code of the lessons 5, vectors and lighting! Download it from the tutorials index section!

However the most important thing came here: I have completely rewritten the source code to unify Zetadeck project and tutorials. For this reason I am in advance with the source code... 
I have ready also the source code of the tutorials 6 (matrices and multi-objects loading) and 7 (Camera and 3d freedom). I will release them only when the correspondent lessons are done. If you want to obtain them now I can send them to you as a gift if you donate me using PayPal at least 7 dollars. You will have also special discounts for any other purchase you will do here!
Unfortunately with the banners I have earned only 6 dollars in 4 months and it's not enough to maintain this web site so I am looking for other donations.

Here are the screenshots of the last three lessons:

Tutorials 5,6,7 are still not written but they will came as soon as possible.

Another great update is that Robert Napolitano has english-corrected the tutorial 3!!!

>>2003SEP07

Some updates! Robert Napolitano, a programmer of New York, is helping me with the tutorials: as you can see there are a lot of sentences not enough clear, infact usually I write the tutorials in italian and then I convert all in english. Robert is working to make the lessons more readable. Until now He has corrected the tutorials 1 and 2.
In the project section it was added the project Monroe, a full/scale space simulation in which the users can interact through a main server.
Some updates also in the About section and web Store: if you want to support this web site there are many OpenGL and programming books to buy!!

>>2003AUG21

I have a little bit of free time from the job, here in Rome it's so warm that I cannot wait to escape... However don't worry =) in September the tutorial 5 will be yours!
I have in mind many great news... For now I can only tell you that I am modifying and cleaning the code of Zetadeck to make it compatible with the tutorials, this will allow me to write the source code of the various lessons faster than before.
If you intend to send me an e-mail I inform you that I will came back on August 31. Happy holidays to everybody!

>>2003JUL10

I have never noticed it but it's not possible to print the tutorials correctly =( Steve Bruce let me know this and, thanks to him, you can find the printer friendly version of the tutorial 4 that is located at the end of the same lesson.

>>2003JUN20

I am so happy today! I celebrate the first 6 dollars earned in one month with this site! I know, 6 dollars are not much but with this rate they could be enough to maintain this web-site and to continue with the publication of the tutorials... Therefore I thank you and I immediately go at work for the 5 tutorial!

A news from Jose Ortega that has sent us two makefiles, one for the tutorial 3 and one for the 4th, to use the Linux version with the compiler Mingw32 for Windows. If you want more information on this compiler please visit www.mingw.org. Both the files are at the end of the tutorials 3 and 4...

>>2003JUN14

Afrasinei Alexandru has converted the tutorial 4 for the SDL multiplatform library www.libsdl.org. The source code and the executable are in the 4th tutorial page. Many thanks! ;)

I want to thank many of you that are making a lot of compliments about the tutorials. Of course I need this kind of encouragement to continue my work because I have not yet economical returns for this web site...
Please tell me also if you have any suggestion to make this web site better. At last I remind you that it is possible to subscribe to the spacesimulator.net mailing list sending a blank mail to subscribe@spacesimulator.net in this way you will be directly informed every time there is a new tutorial or a great news.

>>2003JUN11

Thanks to Zeeshan Ali, now Planet-shading works on Windows and Linux in the same time! You can find the source code in the projects section.

>>2003JUN10

The 4th tutorial is finally on line: the 3ds file loader! I did my best to write it, please let me know mistakes, suggestions, compliments... I hope for the 3rd ;)

>>2003MAY1

The menu on the left was completed at last! I added the sections:
-Projects (If you have a project in topic with this site or simply you have done something using the tutorials, I can insert your work in this section)
-Useful Links (Here there are many links very useful for game programming: on line magazines, 3d editors, textures, meshes, trackers and so on)
-Store (Now there is only AC3D, an inexpensive 3d editor for 3ds files. Soon I will add some books).
-Subscribe (Just to subscribe to the mailing list to receive a mail when I do big updates to this site).

An other news is that Zeeshan Ali has sent me the first tutorials based project. He used the tutorial 4 to load a planet, he included also the lighting (that will be a topic for a future tutorial).

>>2003APR14

Just in this weekend I have received the tutorial 4 Linux porting from Panteleakis Ioannis. You run faster than me! =)

>>2003MAR31

Great news: I found time to complete the 3ds loader! You can download the source code here. I want to thank very much Rene Reiter for the 3ds spaceship that I've included in the source code. Yes, from now on we will leave our dear solid cube in its 3d space...

>>2003FEB15

To help portability I made a little change to the base code: the winmain function has been replaced with: int main(int argc, char **argv). To make the Visual C working with this change, it's enough to insert in "project settings->Linker->Output->Entry-point symbol" the string: "mainCRTStartup". 
A great news is that Karakoussis Apostolos has released the MacOSX port of the tutorial 3

>>2003FEB8

Thanks to your help the site is updated again! Two days ago Panteleakis Ioannis finished to convert the tutorial 3 for Linux and just this morning I've received a MacOSX port of the tutorial 2 from Karakoussis Apostolos. Good job boys!
I want also inform you that I think to release the source code of the tutorial 4 at the end of this month. I am "cleaning" the code I already use for Zetadeck! =) Now I am looking for 3ds files! If some of you has created any spaceship with the 3d studio please tell me, I will insert your work here! 

>>2002DEC28

Another port for the tutorial 2! Afrasinei Alexandru has converted the tutorial 2 code for the SDL library www.libsdl.org. You can find the files here or directly in the 2nd tutorial page. The code was compiled under Linux but, since SDL is multiplatform, it should compile on Windows with little or no modifications.

>>2002DEC23

Just in time for Christmas I've received a gift from Panteleakis Ioannis that has sent me a Linux port for the tutorial 2 (OpenGL and GLUT). Included there is also a makefile to compile the code under Linux. Thank you! ;-)  You can download it here or also following the link at the end of the 2nd tutorial. I wish you an happy Christmas and... happy coding!

>>2002NOV12

Some graphical improvements... Now the site looks better! Doesn't it? Finally also the tutorial 3 is on line! When you will finish to read it please let me know your opinion: if you find errors or if you like (or not) this new tutorial. The new sections: Space reviews, Programming links and Bookstore are going to be on line soon. I need your help for this:
In Space reviews I want to make reviews of other space simulator projects (also those in development) so if you are doing something great please send me a link to your site.
In Programming links I will insert links about programming resources: tutorials, texture and model resources and so on. If you know some interesting site please let me know.

>>2002SEP9

I inserted a screenshot page where you can find new images from Zetadeck. (Please note that I have not yet linked that page on the Home).
The link is: http://www.spacesimulator.net/zetadeck/screenshots.html

>>2002JUN10

I know, the news are not so many and the site is updated not much frequently. For this reason, if you want to know when there are updates, I suggest you to subscribe to the mailing list sending a mail to subscribe@spacesimulator.net. At this moment I am writing the third tutorial and, as usual, I released in advance the source code that you can find here. Regarding the Zetadeck project I finished the optimizations in the core routine and now I am working to make the clouds more real, that means not more 2d but 3d clouds!

>>2002APR13

Great news! The site location changed. My new server (webhosting.it) is really more professional, this means that now I can concentrate me more on my work. Actually I am doing substantial modifications to the core routine for the creation of the landscape so to have a more defined terrain, then I will start to write the 3rd tutorial.

>>2002MAR17

I am very sorry for the problems you may have connecting to this site, if you tried to send me an e-mail and you did not receive any answer maybe it was lost, so I suggest you to use this other e-mail address: damianovit@libero.it. Currently I am preparing to go to the Hannover Cebit Exhibition, I came back the 21, in the meantime I wish you an happy coding and hope you continue to enjoy my tutorials... 

>>2002MAR6

Yes, it's on line! After an hard work in the free time, I released the 2nd tutorial. Finally you will see your first 3d object on the screen, that means you made your first 3d engine! For now it's only a simple engine, but the next tutorials will be more advanced. The code was developed using Visual C, but I think you will have not much problems using other compilers. At the moment I am looking for other platform portings. Please let me know! And... if you find errors, whatever mistake, tell me!

>>2002FEB25

I am finishing the 2nd tutorial. To excuse me for the delay I released in advance the source code, you can find it on this link. To get it work you must have the GLUT library installed, check it on www.opengl.org! The exact link is www.opengl.org/developers/documentation/glut.html

>>2002JAN24

Don't worry! I am still developing Zetadeck! I spend for it only one hour a day cause of my real job that needs most of my time, for this reason I am looking for funds. Anyway in the meantime I increased the realism of the engine quadrupling the number of polygons used to render the planet and the landscape. I am working also on realistic atmospheric effects and dynamic water. On February the second tutorial will be on line! If you want to know when there are valid updates please subscribe yourself at subscribe@spacesimulator.net 

>>2001NOV25

Some news! Finally I added my first tutorial on how to create a 3d engine. I know that many of you are interested in this topic so please check it out and let me know your opinion.

>>2001OCT1

I'm back. As you know I'm working on the hardest part of my 3d engine: approaching on planets. What's the reason for this long delay? I found many problems while trying to draw a planet in true coordinates and in the same time I don't want approximations or tricks to solve them. In addition I can work on my engine only on the weekends because of my real job: programming firmware and software for data acquisition systems (I have no fund to work only to this project). Now I think it's time to show you some 3d screenshots.



Click on images to enlarge them

Please, let me know your opinion. If you have questions, doubts or you are working on a same project and want to share this subject, write to info@spacesimulator.net

>>2001JUN23

I have some news about the 3rd part of my engine.  
I succed to design a very complex recursive algorithm that is able to create boundless landscapes starting from a simple and low defined texture. The function works subdividing the original texture in many new images calculated with a method similar to procedural texturing.
Also the planet is subdivided in sub-regions so you can see also the 3d morphology of the landscape at small scales.
The effective range of working is, for a planet like earth, from 4000 km to 200 m in 8 step, but theoretically I can extend the range and the steps to infinite. Regarding the "texture" section of the algorithm, since its complexity, I had to do an accurate work using the simplest Visual Basic (for the debug and the developing facilities). Here you can see some 2d screenshots regarding this phase.


Now I'm working to convert that routine in C/C++ to include the planet/landscape texturing in the 3d section of my engine. I will include also many planet elements (rivers, trees, buildings, and so on).  Soon I will show you some 3d screenshots...

>>2001MAY22  

What is Zetadeck?
This space sim, whose 3d engine is actually in development, wants to cover the lacks that the other space simulators have.
With Zetadeck the space gamers' dream comes true...
What are, in your opinion, the features that Zetadeck must have?
1-A particular use of the coordinate system, so that it can manage a whole universe of thousand million of km with a perfect resolution
2-Planets and stars shown big as they are in reality.
3-The possibility to explore planets and land on them. Thanks to the news features of the graphic engine it will be possible to show realistic landscapes full of planetary elements with a resolution that increases according to the proximity... Have you ever dreamt of a space simulator where you can see the life and the nature evolving in a realistic approach, see the creation of intelligent creatures?
4-The engine will also be able to manage close environments so that you can explore the interior of buildings or the inner decks of bigger spaceships.
5-Some ships will have the pecularity to be multi-transformable in robots so to increase the realism and the fun while exploring or fighting with other mechas.
For now I'm working on the 3rd part of the engine.Parts 1 and 2 are finished. You must keep in mind it's not easy to solve those points. To understand well this, let me show you a post that I sent two years ago to the newsgroup: comp.graphics.algorithms

>
Title: Planet coordinates and floating point math.....disaster!!!
>Hi to all !!!

>Let me to explain you a very hard question:

>Normally a 3d engine uses the floating point (single) math to define a
>vertex
>in the space. With this system we limit the space coordinates accuracy of
>the far objects. The degradation of accuracy increase with the distance of
>the point from the zero position.

>Let me give you an example:
>I'm programming a game like the magnificent old Frontier (Elite 2), now my
>problem is to define the coordinate of the planet of the solar system. If I
>choose the metres like unit of measurement (for a space simulator I think
>it's the best), calculate the coordinates become a very hard work. Infact
>Pluto is at about 6 000 000 000 km from the sun, and in metres the value is
>6 000 000 000 000 !!! Too bad

>In this way if I translate the camera in that point I can move it ONLY EVERY
>1000000 metres. Infact  the 32 bit floating point give 23 bit for the
>significant (about 8000000 units).
>I try to use the double floating point, in this way I increase the accuracy
>but it's still not enough.

>Now I think that there is a way to do this. How is programmed the 16 bit
>game -Frontier- otherwise?


I received some interesting solutions (as the use of space warps, or hierarchical management of sub-regions). But none of them faced directly the discouraging problem.
It must be considered  that also the speed will suffer because of the same problem. In fact, with great shifts, the floating point calculation loses precision. To imagine the effect think about two object that fly at the same very high speed in the same direction so that if you see one of them from the other you can't see movement. If one of them increase its velocity of a little step you can't see the movement! 
Another great problem is the Z-buffer saturation when you draw big objects (planets and stars) at far distance.

For many days I thought about a solution and, after an hard work, I solved it.
No tricks and hybrid solutions! The engine, for now, manages about 20 hundred millions of kilometers without any loss.

Currently no demo is ready yet, but the work still going on! Any proposal or suggestion will be welcome...

>>2001MAR25

Welcome to my web page!
Actually I'm working on a 3d engine for my future space sim, so I have not much time to work on this site. Sorry for the lack of updates!
Soon here you'll find:
-Tutorials on how to create a 3d engine for a space simulator using the OpenGL API.
-Tutorials about Visual Basic programming (for managerial programming).
-The EH project (a very cool space simulator to download for free)

 

 

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