Solar Model 2.1 - 3D real time modeling of Solar System

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
greenya
Posts: 1012
Joined: Sun Jan 21, 2007 1:46 pm
Location: Ukraine
Contact:

Post by greenya »

Ico wrote:Haven't taken a closer look but how do you draw all the small asteroids etc.?
Small asteroids it is point cloud. I generating random mesh, than applies video::EMF_POINTCLOUD flag to the material. That is why you see just a dots :) . I plaining to add very low quality spheres at every 20th dot coordinates -- that will make looks more realistic render.
Ico wrote:Maybe you could code some simple check that makes them disappear once the fps drop below 15-25 fps.
no. I guess it would flick when you will get 20-40 fps. Because fps changes as objects renders (when you see less planets on screen -- fps better). I guess, it is necessary to add some config button (like "Labels") that will switch on/off rendering of certain parts.
greenya
Posts: 1012
Joined: Sun Jan 21, 2007 1:46 pm
Location: Ukraine
Contact:

Post by greenya »

Hello, all.

Since Irrlicht 1.3.1 Released I decided that it is time to release something too :)

Solar Model 2.0 Released :)

Notes
+ Reworked GUI.
+ Improved asteroids looking.
+ Located planets in the correct nowadays positions.
+ Added displaying current approximate camera's distance from the Sun (in km and a.u.).
+ Added Galaxy feature.
+ Added Options feature.
+ Added Direct3D9 renderer.
+ Added bills to gas gians (Jupiter, Saturn, Uranus, Neptune).
+ Added Screenshots feature.
+ Added ability to change camera speed.
+ Migrated map scripts on XML.
+ Fixed found grammar mistakes.
+ Updated to latest IrrLicht library (version 1.3.1, revision 721).


Check this out:

Image
and this:
Image

Windows binaries (5mb) & Windows/Linux Sources (170kb) are available at http://www.ffsoftworks.com/solar_model/downloads.php

P.S.: for Linux users: I hope that compiling under Linux will not be difficult. If you noticed that Galaxy rendering looks a little better on screenshots (because it was made using Direct3D9 renderer) -- yes, center bill board is hidden while OpenGL renderer used, because it flashing when galaxy rotates. (you may check this out by commenting lines at the end of GameInit() function (in GameMain.cpp) -- there is a comment, you will not miss.)

Thank You.
Hope you like screenshots :)
BlindSide
Admin
Posts: 2821
Joined: Thu Dec 08, 2005 9:09 am
Location: NZ!

Post by BlindSide »

wow amazing, nice work.

There is a website that contains normal maps for planets have you thought of implementing those for a realistic look?
greenya
Posts: 1012
Joined: Sun Jan 21, 2007 1:46 pm
Location: Ukraine
Contact:

Post by greenya »

BlindSide wrote:wow amazing, nice work.

There is a website that contains normal maps for planets have you thought of implementing those for a realistic look?
yes, but i got some strange rendering results.
i will make a screenshot and post it a little later.
greenya
Posts: 1012
Joined: Sun Jan 21, 2007 1:46 pm
Location: Ukraine
Contact:

Post by greenya »

Besides, Linux users may go this way -- http://packman.links2linux.de/package/SolarModel
and get RPM of Solar Model 2.0.
de3000
Posts: 20
Joined: Tue Sep 19, 2006 4:57 pm
Location: South Africa

Post by de3000 »

:shock: I love that galaxy view.

Maybe when we mapped out the whole galaxy Solar Model X.0 will be able to zoom in when in galaxy view. :lol:

Now the question that appears after every release of anything ever released. *Drum roll* :arrow: Whats next? :P :roll:
greenya
Posts: 1012
Joined: Sun Jan 21, 2007 1:46 pm
Location: Ukraine
Contact:

Post by greenya »

de3000 wrote: Maybe when we mapped out the whole galaxy Solar Model X.0 will be able to zoom in when in galaxy view. :lol:
oh yeah, of cause :)
GoogleEarth is amazing project.
There is GoogleMoon also (not full Moon but better than nothing).
In 2040 GoogleSolarSystem will be released (just after inventing ion-engine)
In 2140 GoogleMilkyWay will be released (just after inventing hydrogen-engine)
In 2280 GoogleVirgoSupercluster will be released
In 2450-2500 GoogleVisibleUniverse will be released
:)

of cause, if humankind will not destroy itself earlier with nuclear weapon or some plague.
de3000 wrote: Now the question that appears after every release of anything ever released. *Drum roll* :arrow: Whats next? :P :roll:
Don't know for now.
Have an idea ?
BlindSide
Admin
Posts: 2821
Joined: Thu Dec 08, 2005 9:09 am
Location: NZ!

Post by BlindSide »

Maybe you can use the new tangents patch in the Code Snippets to achieve nice looking bumb/parallax mapping on the planets? Also you can make the sun into alot of different particles close together.
ShadowMapping for Irrlicht!: Get it here
Need help? Come on the IRC!: #irrlicht on irc://irc.freenode.net
greenya
Posts: 1012
Joined: Sun Jan 21, 2007 1:46 pm
Location: Ukraine
Contact:

Post by greenya »

I using Irrlicht library rev. 721.
When I'm setting type of the material to EMT_NORMAL_MAP_SOLID I'm getting alot of:
Error: Normal map renderer only supports vertices of type EVT_TANGENTS
I would like to specify somehow the type of the material through XML... but not so much code as listed in one of the tutorials... for such simple and common graphics feature as bump mapping.
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

You just have to convert your mesh to the tangent type. There's a method in the mesh manipulator available. It shouldn't be more than a handful of lines necessary.
greenya
Posts: 1012
Joined: Sun Jan 21, 2007 1:46 pm
Location: Ukraine
Contact:

Post by greenya »

hybrid wrote:You just have to convert your mesh to the tangent type. There's a method in the mesh manipulator available. It shouldn't be more than a handful of lines necessary.
I use the same mesh for many purposes (some of them requires bump mapping, and some of them doesn't). And only 1 mesh used for this all. What about it?
BlindSide
Admin
Posts: 2821
Joined: Thu Dec 08, 2005 9:09 am
Location: NZ!

Post by BlindSide »

Maybe you can use this code here it doesn't require a mesh with tangents (Generates them automatically):
http://irrlicht.sourceforge.net/phpBB2/ ... hp?t=21186
ShadowMapping for Irrlicht!: Get it here
Need help? Come on the IRC!: #irrlicht on irc://irc.freenode.net
MasterGod
Posts: 2061
Joined: Fri May 25, 2007 8:06 pm
Location: Israel
Contact:

Post by MasterGod »

As this looks like an amazing project I'd hope to see an update using Irr v1.4 or latest revision maybe? I'm sure we will all be happy to see an update on such a cool project.

P.S
I hope you don't mind I added it as a nominee in the 2007's Best Projects Nominees.
Image
Dev State: Abandoned (For now..)
Requirements Analysis Doc: ~87%
UML: ~0.5%
greenya
Posts: 1012
Joined: Sun Jan 21, 2007 1:46 pm
Location: Ukraine
Contact:

Post by greenya »

hybrid wrote:You just have to convert your mesh to the tangent type. There's a method in the mesh manipulator available. It shouldn't be more than a handful of lines necessary.
bump mapping problems here

I trying to apply bump mapping. I have model of a sphere with smooth normals. When I trying to render it with bump mapping - I creating new mesh (with tangents) because this is the only way to get bump mapping work. so i do next:

Code: Select all

...
video::E_MATERIAL_TYPE materialType = video::EMT_NORMAL_MAP_SOLID;

scene::IMesh *tMesh = Game.MeshManipulator->createMeshWithTangents(aNode->getMesh());

video::ITexture* texture_diffuse = aNode->getMaterial(0).getTexture(0);
video::ITexture* texture_height = Game.Video->getTexture(texture);

Game.Video->makeNormalMapTexture(texture_height, height);

Game.MeshManipulator->recalculateNormals(tMesh, true); // this doesn't help :(

aNode->setMesh(tMesh);
aNode->setMaterialTexture(0, texture_diffuse);
aNode->setMaterialTexture(1, texture_height);
aNode->setMaterialType(materialType);

tMesh->drop();
...
I gettings next rendering results:
Image

At the right you can see rendering without bump mapping. Polygon edges smoothed. At the right the result of rendering with using of code block above. IMeshManipulator::recalculateNormals() doesn't smooth edges.


How to get smoothed mesh of tangent type? :?

Thank You.
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

Yeah, unfortunately the tangent mesh creation wrecks the smoothed normals. There's a patch in the forum (and tracker) which avoids this problem. It will be integrated into Irrlicht soon.
Post Reply