Planet Rendering Engine preview (released Jul/20/2009)
-
- OGRE Expert User
- Posts: 975
- Joined: Thu Aug 04, 2005 4:14 am
- Location: Santa Clara, California
- x 4
-
- Greenskin
- Posts: 109
- Joined: Sat Dec 20, 2008 6:26 am
- Location: QLD, Australia
- x 3
Re: Planet Rendering Engine preview
Your engine looks amazing!
How goes the progress?
How goes the progress?
-
- OGRE Community Helper
- Posts: 767
- Joined: Wed Oct 10, 2007 2:36 pm
- Location: Germany
- x 39
Re: Planet Rendering Engine preview
This is a nice picture (from this post) and I added it to the wiki.JohnJ wrote:Also, here's a shot demonstrating the quadtree-based LOD system:
I think this is ok. If not, you can tell me and I'll remove it.
http://www.ogre3d.org/wiki/index.php/LOD
Help to add information to the wiki. Also tiny edits will let it grow ...
Add your country to your profile ... it's interesting to know from where of the world you are.
Add your country to your profile ... it's interesting to know from where of the world you are.
-
- OGRE Community Helper
- Posts: 767
- Joined: Wed Oct 10, 2007 2:36 pm
- Location: Germany
- x 39
Re: Planet Rendering Engine preview
Is this planet rendering engine similar to a Scene Manager?
If yes, we could add it to the list of scene managers of wiki page
www.ogre3d.org/wiki/index.php/SceneManagersFAQ
If yes, we could add it to the list of scene managers of wiki page
www.ogre3d.org/wiki/index.php/SceneManagersFAQ
Help to add information to the wiki. Also tiny edits will let it grow ...
Add your country to your profile ... it's interesting to know from where of the world you are.
Add your country to your profile ... it's interesting to know from where of the world you are.
-
- Orc
- Posts: 400
- Joined: Thu Apr 23, 2009 7:23 am
- Location: Australia
- x 19
Re: Planet Rendering Engine preview
Love your work,
I've been toying around with another algorithm to render entire planets ..http://www.youtube.com/watch?v=I3_pb6Gq5hs
It uses a slightly modified version of the ROAM algorithm, which keeps detail up and vertex count down to a minimum,
if you look at the video, you'll see that the planet vertex count for the terrain stays under 8,000 vertecies,
the atmosphere and clouds are just big spheres, pretty lame but I'll fix that later.
There are no shaders or any special stuff yet, but I'll get to that later as well.
regards
Alex
I've been toying around with another algorithm to render entire planets ..http://www.youtube.com/watch?v=I3_pb6Gq5hs
It uses a slightly modified version of the ROAM algorithm, which keeps detail up and vertex count down to a minimum,
if you look at the video, you'll see that the planet vertex count for the terrain stays under 8,000 vertecies,
the atmosphere and clouds are just big spheres, pretty lame but I'll fix that later.
There are no shaders or any special stuff yet, but I'll get to that later as well.
regards
Alex
-
- Minaton
- Posts: 973
- Joined: Fri Dec 28, 2007 4:35 pm
- Location: Germany
- x 1
Re: Planet Rendering Engine preview
Hi DavlexDesign!
This looks very promising . Impressive work!
I hope that future implementations can benefit from the upcoming Ogre paging system. Hopefully the different terrain paging implementations can share the same API then...
xad
This looks very promising . Impressive work!
I hope that future implementations can benefit from the upcoming Ogre paging system. Hopefully the different terrain paging implementations can share the same API then...
xad
-
- Orc
- Posts: 400
- Joined: Thu Apr 23, 2009 7:23 am
- Location: Australia
- x 19
Re: Planet Rendering Engine preview
Hi xad,
Thanks for the feed back, What do you mean about the "new Paging system" ?
The way this engine works I can chunk down to what ever size I need, it will be perfect for any sort of new paging system,
as a matter of fact it might help it, I'm pretty new to Ogre, and any tricks/ optimizations would be welcome.
alex
Thanks for the feed back, What do you mean about the "new Paging system" ?
The way this engine works I can chunk down to what ever size I need, it will be perfect for any sort of new paging system,
as a matter of fact it might help it, I'm pretty new to Ogre, and any tricks/ optimizations would be welcome.
alex
-
- OGRE Retired Moderator
- Posts: 20570
- Joined: Thu Jan 22, 2004 10:13 am
- Location: Denmark
- x 179
Re: Planet Rendering Engine preview
He's referring to this:
http://www.ogre3d.org/forums/viewtopic.php?f=4&t=48320
http://www.ogre3d.org/forums/viewtopic.php?f=4&t=48320
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
-
- Orc
- Posts: 400
- Joined: Thu Apr 23, 2009 7:23 am
- Location: Australia
- x 19
Re: Planet Rendering Engine preview
This new Paging system sounds nice, hopefully they can get it running nice (I don't doubt it)
I was thinking of using the BatchGeometry and BatchPage classes from PagedGeometry to handle the chunk rendering and loading, do you think I might be wasting my time with this, or will this new paging system be relatively compatible with these classes ? At the moment my paging system is my very own, I have no seams in my geometry (between chunks) at all, with only a minimal amount of vertex duplication, everything is kept to a minimum to keep the frame rate up above 500 fps on my home PC (2.6 ghz Intel Core 2 duo, 2 gb RAM, Nvidia 9800 GT Video, Windows XP Pro SP3). I know I can improve this when I do Page culling, because currently my paging system uses a brute force approach and traverses all of the planet map and updates everything(including vertex and index buffers) every pass, even chunks that are not in view, so the improvement could be quite substancial, this planet class is only a proof of concept version to me(far from complete), it's not even a version 1.0 yet, I'll let it out when I get it to a full point version.
Alex
I was thinking of using the BatchGeometry and BatchPage classes from PagedGeometry to handle the chunk rendering and loading, do you think I might be wasting my time with this, or will this new paging system be relatively compatible with these classes ? At the moment my paging system is my very own, I have no seams in my geometry (between chunks) at all, with only a minimal amount of vertex duplication, everything is kept to a minimum to keep the frame rate up above 500 fps on my home PC (2.6 ghz Intel Core 2 duo, 2 gb RAM, Nvidia 9800 GT Video, Windows XP Pro SP3). I know I can improve this when I do Page culling, because currently my paging system uses a brute force approach and traverses all of the planet map and updates everything(including vertex and index buffers) every pass, even chunks that are not in view, so the improvement could be quite substancial, this planet class is only a proof of concept version to me(far from complete), it's not even a version 1.0 yet, I'll let it out when I get it to a full point version.
Alex
You do not have the required permissions to view the files attached to this post.
-
- Minaton
- Posts: 973
- Joined: Fri Dec 28, 2007 4:35 pm
- Location: Germany
- x 1
Re: Planet Rendering Engine preview
I would not say that you are wasting your time but as far as I see the upcoming paging system has a very flexible OOP API, where you could adapt your code on if you want. As a special motivation (if you are interested) the paging system will initially be used for (2D) terrain. Maybe you could be the first with a fully working Planet implementation...
xad
xad
-
- Orc
- Posts: 400
- Joined: Thu Apr 23, 2009 7:23 am
- Location: Australia
- x 19
Re: Planet Rendering Engine preview
G'day xad,
I had a further read/study of the doc on this new paging system, it does sound quite flexible, and I think that if it follows relatively close to the charts shown, my system will easily integrate with it, I worked out today that I can cull what I'm actually sending to the video card by about 40 to 50% (with the new paging system I'm currently working on), meaning that my frame rate should improve some what, like I said before, the system at this stage sends the whole planet to the card every frame, but with my new Vertex and Index Buffer re-mapper class, I won't have to write so much old data to the card each time. That way the cpu will have more time to work on the little things that make a game a good game (GAME PLAY) something sadly lacking in allot of the new stuff.
To give you an idea of scale, the ocean is around 1 km deep at the three way join in the map.
Anyway, got side tracked here ... I think that I will make this system modular enough to integrate with the new one, at the moment the paging system does the ground and the water, my plan is to have everything attached to a page will be paged along with it ( as you can see above), allot of what the doc mentioned about the new paging system I've sort of implemented, maybe not as clean or tidy but it is there already, as you can see in the background of the picture, the water and terrain are fully sent to the video card, only hardware culling is going on here, still allot of improvement to be had, but as I said ... it is still a work in progress.
Oh yeah, here's a pic with a little clearer view of the detail and structure the fractals produce, and how far you can see in the distance.
You can only get that kind of detail in the far distance with a ROAM algorithm and 8220 verticies I think, and that includes the back side of the planet also.
Alex
I had a further read/study of the doc on this new paging system, it does sound quite flexible, and I think that if it follows relatively close to the charts shown, my system will easily integrate with it, I worked out today that I can cull what I'm actually sending to the video card by about 40 to 50% (with the new paging system I'm currently working on), meaning that my frame rate should improve some what, like I said before, the system at this stage sends the whole planet to the card every frame, but with my new Vertex and Index Buffer re-mapper class, I won't have to write so much old data to the card each time. That way the cpu will have more time to work on the little things that make a game a good game (GAME PLAY) something sadly lacking in allot of the new stuff.
To give you an idea of scale, the ocean is around 1 km deep at the three way join in the map.
Anyway, got side tracked here ... I think that I will make this system modular enough to integrate with the new one, at the moment the paging system does the ground and the water, my plan is to have everything attached to a page will be paged along with it ( as you can see above), allot of what the doc mentioned about the new paging system I've sort of implemented, maybe not as clean or tidy but it is there already, as you can see in the background of the picture, the water and terrain are fully sent to the video card, only hardware culling is going on here, still allot of improvement to be had, but as I said ... it is still a work in progress.
Oh yeah, here's a pic with a little clearer view of the detail and structure the fractals produce, and how far you can see in the distance.
You can only get that kind of detail in the far distance with a ROAM algorithm and 8220 verticies I think, and that includes the back side of the planet also.
Alex
You do not have the required permissions to view the files attached to this post.
-
- Halfling
- Posts: 80
- Joined: Wed May 20, 2009 9:01 am
- x 1
Re: Planet Rendering Engine preview
JohnJ, nice work, I am impressed!
Due to my experience in ogre, could you tell me some information regarding your algorithm of making a planet?
As I have understood, you make your own planet as a new custom made MovableObject class, and inside it, you implement LOD techniques and all other stuff like mapping and procedural heights.
I was wondering if you could, in some kind if step-by-step, tell us from what doest your MO class consist of.
Maybe you could provide some links (or some sources that were useful for you while creating) regarding creating and implementing MO classes, something like that.
Much appreciated.
Due to my experience in ogre, could you tell me some information regarding your algorithm of making a planet?
As I have understood, you make your own planet as a new custom made MovableObject class, and inside it, you implement LOD techniques and all other stuff like mapping and procedural heights.
I was wondering if you could, in some kind if step-by-step, tell us from what doest your MO class consist of.
Maybe you could provide some links (or some sources that were useful for you while creating) regarding creating and implementing MO classes, something like that.
Much appreciated.
-
- Gnoblar
- Posts: 2
- Joined: Tue May 26, 2009 7:37 am
Re: Planet Rendering Engine preview
This is probably old news but there's some source I got running once to scratch this same itch (not clever enough to write it all myself!). So it might be of use to someone else doing the same thing. http://sponeil.net/
-
- Halfling
- Posts: 80
- Joined: Wed May 20, 2009 9:01 am
- x 1
Re: Planet Rendering Engine preview
hmmm... it looks familiar... I should investigate it more closely. Thanks for the link!
-
- OGRE Community Helper
- Posts: 767
- Joined: Wed Oct 10, 2007 2:36 pm
- Location: Germany
- x 39
Re: Planet Rendering Engine preview
For such a description it would be good to create a wiki page.in some kind if step-by-step, tell us from what doest your MO class consist of.
And this thread could be used for detailed user questions, so that the author gets ideas what he can focus.
The development information for the Tibor game is a nice example how a project can be descripted.
http://www.ogre3d.org/wiki/index.php/Experiences:Tibor
Help to add information to the wiki. Also tiny edits will let it grow ...
Add your country to your profile ... it's interesting to know from where of the world you are.
Add your country to your profile ... it's interesting to know from where of the world you are.
-
- OGRE Expert User
- Posts: 975
- Joined: Thu Aug 04, 2005 4:14 am
- Location: Santa Clara, California
- x 4
Re: Planet Rendering Engine preview
I'm thinking about releasing the planet rendering code for the stuff you see in this thread, which is now over a year old (wow, time passes fast ). Sorry I've been mostly absent from these forums for quite a while, but this project in a way led to me being hired for a full-time (freelance) job that I'm really busy with right now.
The engine from what I've shown in this thread is actually quite primitive (compared to what I've done under NDA, but I can't talk about that) and is far from perfect or complete, but hopefully if I can open-source it some of you will be able to at least learn from it, and maybe develop it into a usable library . Unfortunately I don't have the time to make this into a library and support it like PagedGeometry, or even participate in it's open-source development at all due to the similarity of it to what I do under contract for work now, but I will finish this project in a few months and will be free then.
However, the technique I've been suggesting and using in this thread (Chunked LOD) I've found over time has some serious problems (particularly with seamless normal calculation), that are difficult (although not impossible) to solve efficiently. The solution used in the engine shown here works, but limits the maximum resolution of a planet to ~16000x16000ish. My new favorite technique (GPU accelerated geometry clipmaps, also mapped to a cube) is far better in almost every way (particular normal map generation), and is a perfect technique IMO for large planetary worlds for a video game, although it has different limitations of it's own.
I still do plan on finishing my "dream" 3D scifi space game, but since it's put on hold for now due to work, etc. I think releasing my code here is the best choice for now.
I might not be able to release anythjng at all for another month though because my computer was practically destroyed during travel, and for misc. reasons it can't be fixed until then.
P.S. DavlexDesign: Nice
The engine from what I've shown in this thread is actually quite primitive (compared to what I've done under NDA, but I can't talk about that) and is far from perfect or complete, but hopefully if I can open-source it some of you will be able to at least learn from it, and maybe develop it into a usable library . Unfortunately I don't have the time to make this into a library and support it like PagedGeometry, or even participate in it's open-source development at all due to the similarity of it to what I do under contract for work now, but I will finish this project in a few months and will be free then.
However, the technique I've been suggesting and using in this thread (Chunked LOD) I've found over time has some serious problems (particularly with seamless normal calculation), that are difficult (although not impossible) to solve efficiently. The solution used in the engine shown here works, but limits the maximum resolution of a planet to ~16000x16000ish. My new favorite technique (GPU accelerated geometry clipmaps, also mapped to a cube) is far better in almost every way (particular normal map generation), and is a perfect technique IMO for large planetary worlds for a video game, although it has different limitations of it's own.
I still do plan on finishing my "dream" 3D scifi space game, but since it's put on hold for now due to work, etc. I think releasing my code here is the best choice for now.
I might not be able to release anythjng at all for another month though because my computer was practically destroyed during travel, and for misc. reasons it can't be fixed until then.
P.S. DavlexDesign: Nice
-
- OGRE Community Helper
- Posts: 767
- Joined: Wed Oct 10, 2007 2:36 pm
- Location: Germany
- x 39
Re: Planet Rendering Engine preview
Thanks for your detailed post and your opinion to make your project open source
Your are a good boy.
I whish you the best for your work, your travels and life!
Your are a good boy.
I whish you the best for your work, your travels and life!
Help to add information to the wiki. Also tiny edits will let it grow ...
Add your country to your profile ... it's interesting to know from where of the world you are.
Add your country to your profile ... it's interesting to know from where of the world you are.
-
- Gnoblar
- Posts: 9
- Joined: Fri Aug 22, 2008 9:08 am
Re: Planet Rendering Engine preview
I think a lof of people (including me) will be happy to put their hands on your code.
And congratulations for getting hired based on your ogre work. I hope that when your NDA work gets released you'll let as know
And congratulations for getting hired based on your ogre work. I hope that when your NDA work gets released you'll let as know
-
- Gnoblar
- Posts: 5
- Joined: Thu Apr 23, 2009 8:03 pm
- Location: Ireland
Re: Planet Rendering Engine preview
I just want to thank you in advance JohnJ. Its really cool to have someone do what you are doing and its a great contribution t the community. I am sure lots of open source projects will benefit immensely from your contribution. One I am looking forward to the most being vegastrike.
You are truly a cool guy
You are truly a cool guy
-
- OGRE Expert User
- Posts: 975
- Joined: Thu Aug 04, 2005 4:14 am
- Location: Santa Clara, California
- x 4
Re: Planet Rendering Engine preview
Thanks
BTW I should be able to release it roughly one week from now.
BTW I should be able to release it roughly one week from now.
-
- Gnoblar
- Posts: 5
- Joined: Thu Apr 23, 2009 8:03 pm
- Location: Ireland
Re: Planet Rendering Engine preview
You freaking rock If you are ever in Ireland I must get you a crate of bears
-
- OGRE Retired Moderator
- Posts: 20570
- Joined: Thu Jan 22, 2004 10:13 am
- Location: Denmark
- x 179
Re: Planet Rendering Engine preview
That's going to be one huge crate - depending on the type of bear..
I vote polar bears, this time of year.
I vote polar bears, this time of year.
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
-
- OGRE Expert User
- Posts: 975
- Joined: Thu Aug 04, 2005 4:14 am
- Location: Santa Clara, California
- x 4
Re: Planet Rendering Engine preview
Lol
Don't get too excited though, like I said the code I'll be releasing is about a year old. I'll probably release the whole system including planet and star rendering for an example at least, but the only really useful part is probably the planet rendering code (which itself isn't 100% complete, but is works well at what it does, although needs some refactoring) - the solar system management is all wrong which is one reason why I'll be doing a total rewrite of the engine when I finally get the time to resume work on this. Anyway, I'm glad it will be useful in some projects
Don't get too excited though, like I said the code I'll be releasing is about a year old. I'll probably release the whole system including planet and star rendering for an example at least, but the only really useful part is probably the planet rendering code (which itself isn't 100% complete, but is works well at what it does, although needs some refactoring) - the solar system management is all wrong which is one reason why I'll be doing a total rewrite of the engine when I finally get the time to resume work on this. Anyway, I'm glad it will be useful in some projects
-
- Greenskin
- Posts: 100
- Joined: Fri Aug 08, 2008 8:06 pm
- Location: Belo Horizonte - Brazil
Re: Planet Rendering Engine preview
Nice, very good jobs, greate engine, and i wait the release.
Sorry for my fail english, I'm studing, I swear! =]
-
- OGRE Expert User
- Posts: 975
- Joined: Thu Aug 04, 2005 4:14 am
- Location: Santa Clara, California
- x 4
Re: Planet Rendering Engine preview
I'm finally back in California, and now all that remains is for me to put the pieces of my computer back together again. Hopefully my hard drives won't be ruined as well as the GPU/motherboard, but even if they are I'll find a backup of the planet renderer code somewhere. Anyway, hopefully it'll be all up and running soon