fast planet rendering
why the planet looks distorted.
My company: http://www.kloena.com
My blog: http://www.zhieng.com
My co-working space: http://www.deskspace.info
My blog: http://www.zhieng.com
My co-working space: http://www.deskspace.info
-
- Admin
- Posts: 3590
- Joined: Mon Oct 09, 2006 9:36 am
- Location: Scotland - gonnae no slag aff mah Engleesh
- Contact:
Global warping.Virion wrote:why the planet looks distorted.
Please upload candidate patches to the tracker.
Need help now? IRC to #irrlicht on irc.freenode.net
How To Ask Questions The Smart Way
Need help now? IRC to #irrlicht on irc.freenode.net
How To Ask Questions The Smart Way
-
- Posts: 175
- Joined: Wed Dec 20, 2006 12:04 pm
Hey Tarzan.
I'm interested in applying a similiar technique as yours, and spent the last days just researching the topic. As I understand it one need to start with a icosahedron and subdivide that depending on viewdistance.
I downloaded your source and tried to make sense of it all, but it was kinda hard. I didn't understand alot of what you were doing from your source (that plus it was in french )
If you are interested and have the time I would be really be curious about the details of all this, if you feel like explaining it to somebody new to the concept.
Best regards.
I'm interested in applying a similiar technique as yours, and spent the last days just researching the topic. As I understand it one need to start with a icosahedron and subdivide that depending on viewdistance.
I downloaded your source and tried to make sense of it all, but it was kinda hard. I didn't understand alot of what you were doing from your source (that plus it was in french )
If you are interested and have the time I would be really be curious about the details of all this, if you feel like explaining it to somebody new to the concept.
Best regards.
high,
in fact, everything is processed in the file planetescenenode.cpp, i'm starting to load a x file generated with blender (the base icosahedron with 320 faces), than i'm subdividing it with the split function (all triangles are subdivide in 4 children triangles) 2 times to get a planet with 1480 triangles. during the game, effectively, based on the camera distance, the triangles are splitting in 4 childrens. All the difficulty is to keep trace of parents and verify when a displacement is needed for a triangle to avoid seam in the mesh. My work is based on an article i've read on internet, i will try to retrieve it to give you the original paper.
in fact, everything is processed in the file planetescenenode.cpp, i'm starting to load a x file generated with blender (the base icosahedron with 320 faces), than i'm subdividing it with the split function (all triangles are subdivide in 4 children triangles) 2 times to get a planet with 1480 triangles. during the game, effectively, based on the camera distance, the triangles are splitting in 4 childrens. All the difficulty is to keep trace of parents and verify when a displacement is needed for a triangle to avoid seam in the mesh. My work is based on an article i've read on internet, i will try to retrieve it to give you the original paper.
Thanks for the reply.
Yeah I think I understand most of it now. I had to google like a madman and read all forumposts I could find about it But I was able to create my own icosahedron by code which I then subdivided to my liking. Then I started looking around on other alternatives and it seems that cube to sphere mapping is a really nice option aswell.
http://mathproofs.blogspot.com/2005/07/ ... phere.html
So I tried out on a cube I generated.
http://s716.photobucket.com/albums/ww16 ... recube.jpg
It's especially a nice solution as you dont have to worry as much about spherical coordinates for your lod systems and so on, as you "only" have to inverse the cube to sphere formula.
So now I'm basically just checking out various lod techniques. I think I'm going to use some kind of geomipmap/quadtree solution, just not sure on the details yet. So I'm looking around at some different terrainsolutions here on irr and else on the net.
Also do you use your pseudorandomizer to generate the planets? I implemented libnoise yesterday and it will be quite interesting to see what kind of things you can do with it, very nice lib.
Yeah I think I understand most of it now. I had to google like a madman and read all forumposts I could find about it But I was able to create my own icosahedron by code which I then subdivided to my liking. Then I started looking around on other alternatives and it seems that cube to sphere mapping is a really nice option aswell.
http://mathproofs.blogspot.com/2005/07/ ... phere.html
So I tried out on a cube I generated.
http://s716.photobucket.com/albums/ww16 ... recube.jpg
It's especially a nice solution as you dont have to worry as much about spherical coordinates for your lod systems and so on, as you "only" have to inverse the cube to sphere formula.
So now I'm basically just checking out various lod techniques. I think I'm going to use some kind of geomipmap/quadtree solution, just not sure on the details yet. So I'm looking around at some different terrainsolutions here on irr and else on the net.
Also do you use your pseudorandomizer to generate the planets? I implemented libnoise yesterday and it will be quite interesting to see what kind of things you can do with it, very nice lib.
All artifact due to high number are solved with pixel 2.0, before rendering the planet, i force the world matrix with a 0 translation and 1 scale, in the vertex shader i force the vertex to the real position (with scale and translation) before multiply by the viewproj so the vertex flickering during rendering (especially when they are near the cam) are correct now. I've had a problem with the texture coord, now i'm passing the position of the point to the shader in the texcoord2 from which i deduce a noise function (based on an exponential to increase the difference between 2 very near point) so now the texture flickering is solved.
Changing in the vertex format, now i use a 2tcoord vertex format => i will probably be able to add detail at an extrem small distance => screenshot to follow as soon as the new planetary engine is ready
Implementig a strategic space order => it will give objectives to military station, so the station will give mission to the scadron to acheive objectives.
So the player is affected to a station (choosen to the beginning of a campaign) and will play mission for this station.
Implementig a strategic space order => it will give objectives to military station, so the station will give mission to the scadron to acheive objectives.
So the player is affected to a station (choosen to the beginning of a campaign) and will play mission for this station.
wow... that is fantastic... I just checked out the staggering 2.5 GB from the svn and I can only begin to comprehend how much work that must have been. Projects like yours should be sponsored. The graphics could use some improvement here and there but the vastness of generic mindbending code is absolutely un-believable. Alone the cultural names of generesysteme promise an awesome variety... Have you looked at the The Frontier Galaxy code & description someone else posted earlier ?
I owned an amiga500 back in the days and really loved elite... I sincerly hope you finish this project to your satisfaction, but looking at what has already been done, I'd say you wouldn't abandon your baby before that is reached.
Unfortunately I couldn't run it... the stable version crashed, the release wasn't compiled and the debug reported:
Fichier c:\elite.ini non present
I created an empty file but then it couldn't find the textures and after pressing one of the three untextured buttons it crashed aswell... so, will there be a runnable version anytime soon ?
my full respect and keep on going !!!
I owned an amiga500 back in the days and really loved elite... I sincerly hope you finish this project to your satisfaction, but looking at what has already been done, I'd say you wouldn't abandon your baby before that is reached.
Unfortunately I couldn't run it... the stable version crashed, the release wasn't compiled and the debug reported:
Fichier c:\elite.ini non present
I created an empty file but then it couldn't find the textures and after pressing one of the three untextured buttons it crashed aswell... so, will there be a runnable version anytime soon ?
my full respect and keep on going !!!
back in the days...
High, thank's for your encouragment. Normally the project doen't need any more the file in c:\elite.ini, i will verify the code. Graphism must be ameliored but i'm not a good graphic. The project is allways in dev but i'm alone and i'm not a specialist in web design so i can't communicate a lot. The 2.5Gb of download will be of course reduce with the planet texture beeing generated by the program thank's to libnoise i discovered yesterday.
Some features test on my machine:
completly flight free, you can land everywhere on planet.
You can jump in any system known or unknown (i must add a distance computation to verify you ship can jump).
I've take some graphics from vegastrike (station and vessel) it's a free space simulator but for instance they don't want the player land on planet.
Some features test on my machine:
completly flight free, you can land everywhere on planet.
You can jump in any system known or unknown (i must add a distance computation to verify you ship can jump).
I've take some graphics from vegastrike (station and vessel) it's a free space simulator but for instance they don't want the player land on planet.
I just thought and wrote about your project so I updated from the svn trying to run I would repeat myself...
any progress ?
...oops... double post....already deleted
EDIT:
Btw: Have you thought about a detailed background story of whats going on in your universe yet ?
Last edited by zillion42 on Mon Feb 09, 2009 8:01 am, edited 1 time in total.