Results 1 to 10 of 32

Thread: Planet texture generation code

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    My wish is to have both, but for the moment I concentrate more on planetary view.
    Also after doing some research I see that perlin noise can come in handy in other fields aswell, even for things that I wasn't even planing before.

  2. #2
    Junior Member
    Join Date
    Mar 2012
    Location
    London, UK
    Posts
    27
    Quote Originally Posted by SilverWarior View Post
    for the moment I concentrate more on planetary view.
    http://mygimptutorial.com/the-ultima...lanet-tutorial

    That works pretty good for a spite type view. If you're looking for a cylindrical projection to wrap around a sphere, maybe try Gimp and the phfluuh plugin. But I haven't tried that myself yet.

  3. #3
    Lets me get something clear. I wan't to have planet texture generation capability inside my game so that I can generate necessary texture when I need them. For instance before entering star system for the first time. This is posible becouse traveling from one star system to another do takes some time.
    I did manage do make my own implementation of Perlin noise but unfortunatly my implementation is too slow. So if anybody of you guys have decent Perlin noise code I would apretiate if you could share it.

  4. #4
    Good news I found a bug in my code wich was making it runs so damn slow. So now my implementation of perlin noise like algorithm works with decent speed.
    But since I now use Delphi random function it only generates me real numbers between 0 and 1 while original Perlin Noise algorithm uses real numbers from -1 to 1.
    So I was wondering if anybody of you have code for random number generator wich is capable of generating random numbers between -1 and 1.

  5. #5
    Junior Member
    Join Date
    Mar 2012
    Location
    London, UK
    Posts
    27
    Quote Originally Posted by SilverWarior View Post
    capable of generating random numbers between -1 and 1.
    r := random(2) - 1

  6. #6

  7. #7
    Thanks guys but I already solved the problem.
    r := (Random -0.5) *2;

    My Perlin noise like procedure is now done to the part that I can get mostly same results as from one of example programs I found on the web. No source code unfortunatly so I cant do any real speed comparison.
    I might do partial rewrite of it so it will give me more options for postprocessing. This way I belive to get much better results.
    But since I already spent more time on this than I expected I must postpone this for a while and start working on the rest of the game. Having best planet generation algorithm does me no good if I don't have a game in wich to use this algorithm.

  8. #8
    Junior Member
    Join Date
    Oct 2012
    Location
    Columbus, Ohio
    Posts
    4
    Blog Entries
    3

    Clarification for SilverWarior

    Hello,
    I do beg every body's forgiveness as I struggle to understand the dynamics of programming and how best to express my vision and goals.
    To start, a game that I enjoy playing is a 2D game of course played on a square surface. If you start at point a and move in a straight line to the right when you come to the edge you can go no further. Now in my mind you should be repositioned to the the left side and be able to continue on your path.
    It is my impression that the only why to accomplish this goal is to have a spherical game space...of course I could be wrong.
    As a beginning base for my project I would prefer this MyWorld.jpgas a game space. With the ability to zoom into street level yet not have the streets or buildings one would find in say google maps. Natural Earth does have the appropriate dataset although there would need to be some work done as when their maps are zoomed in they get blurry. But, I am sure there is a height map, shapefile that can resolve that issue.
    Then there is the issue of the actual ...algorithm... to create the proper paths such as something like these.MyWorldBasicTravelLines.jpg

    Now, not being a programmer much less a game programmer, I can image that there is some process to achieve this goal. But, I am not yet knowledgeable enough to understand it.

    I, in my project am attempting to fly from space, land, drive in a vehicle until I come to the ocean, then board a ship etc. etc.
    Once I figure out the 3D terrain then I hope I can then combine it with other open source code snippets to finish the project...easier said then done.

    So, I guess the real question is. Does a terrain engine or a game engine allow for this type of path following? Will I need a PhD in mathematics to program the behavior or has some wizard already figured it out? If there is an engine that will allow embedding satellite imaging to create a natural earth terrain could some one suggest it to me?

    As always all advice an d admonishments are appreciated.
    Bill

  9. #9
    I just read your comment on my profile page, so I guess it's better to answer here than via private messaging :

    What you're planning to do is a huge undertaking, and even a skilled programmer may need several years to implement what you want to do. So prepare to learn a lot, especially when it comes to 3D realtime graphics, physics, path finding and optimizations.

    Zooming in from space to the "street level" of a planet is a very complex thing to implement. You need a smart (and performing) way of storing your data (even with a high-end GPU and much RAM you won't be able to keep all necessary data in memory all the time), some continuous level-of-detail algorithm with advanced visibility checks to actually only draw what's visible (again same as storing all data isn't possible, rendering everything, if not visible or too far away, would be too much for your hardware). And these are just the basic. Adding good physics is another thing and many physics engines won't be well-suited for such a continuous scaling from space to ground.

    A very good place to learn about the techniques necessary for what you're about to do is http://vterrain.org

    When it comes to rendering planets and all the stuff they contain this page is a treasure chest of knowledge. So maybe take a look at their articles, though most of them will be very hard to understand unless you're pretty good at programming and have done something in terms of terrain renderning.

    So as an advice you should just start at ground level, render a limited terrain (using maybe octrees for visibility checks, to learn about this important feature) with basic physics that allow the player to walk on the terrain. Then start adding objects like trees and roads, include a phyisics engine for the vehicles and then zoom out stept by step, always adding to your base.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •