Profiel van JonathanJonathan Chayce Dickinso...Weblog Extra Help

Weblog


    27 mei

    Populous: Born Again

    Introduction

    I am writing a re-make of Populous: The Beginning. A legendary game that was years ahead of it's time (what more do you expect from Peter Molyneux?).

    Initial Ideas

    Populous is played on a height-mapped sphere, and I am not willing to fore-go that concept: but it does pose a few problems.

    Singularity

    This is what people call the convergence at the north and south poles of a sphere. There is a solution that is very effective, described by Paul Borke. In his implementation he pre-treats the texture. I am going to derive these values at runtime, for both the heightmap and the texture. By doing this I will gain the advantage that the landscape can have a higher resolution than the actual heightmap used (important for my CLOD algorithm).

    CLOD

    All the CLOD algorithms (for landscapes) I have seen so far use Geospheres, which I am now certain are not nessecary. They use sub-divisions and are a nightmare to implement.

    The camera is on a fixed-orbit around the planet (maybe a zoom function would be present). Because of this we know what angle the camera is at (its position is derived from the angles, rather than the other way round). Thus we know at exactly which point we need greatest detail.

    How do we have a CLOD sphere? It is rather easy in fact. We specify how many vertices we want along each edge and by pre-treating that value with a sin/cos function we can have it tighten near the camera, while still keeping the number of target vertices. This is how we do it on one axis:

    input: float num;
    input: float width;
    const: PiO2 = Pi / 2;

    float widthMult = width / (numHoriz * PiO2);
    float curX = 0;

    for(float vertX = 0; vertX < numHoriz; u++)
    {
    float angle = Pi * vertX / numHoriz;
    float step = Sin(angle) * widthMult;
    curX = curX + step;
    // curX is in range 0:width
    }

    Take that curX and map it to a sphere and you will have a CLOD sphere.

    Let's Go!!!

    I am going to see if I can implement this beast using Axiom (a C# engine that is a port from OGRE).

    (1) reacties

    Een ogenblik geduld...
    De reactie die je hebt ingevoerd is te lang. Maak hem iets korter.
    Je hebt niets ingevoerd. Probeer het opnieuw.
    We kunnen je reactie nu niet toevoegen. Probeer het later opnieuw.
    Je hebt toestemming van je ouders nodig om een reactie toe te voegen Toestemming vragen
    Je kunt geen reacties geven omdat je ouders dit hebben uitgeschakeld.
    We kunnen je reactie nu niet verwijderen. Probeer het later opnieuw.
    Je hebt het maximale aantal reacties overschreden dat je elke dag kunt versturen. Probeer het over 24 uur nog eens.
    De mogelijkheid om reacties te geven is uitgeschakeld voor je account omdat onze systemen aangeven dat je spam naar andere gebruikers verzendt. Als je van mening bent dat je account ten onrechte is uitgeschakeld, kun je contact opnemen met de klantondersteuning van Windows Live.
    Voer de beveiligingscontrole hieronder uit om een reactie achter te laten.
    De tekens die je typt moeten overeenkomen met die in de afbeelding of het audiofragment.

    Meld je aan bij Windows Live ID om een reactie toe te voegen (als je Hotmail, Messenger of Xbox LIVE gebruikt, heb je al een Windows Live ID). Aanmelden


    Heb je geen Windows Live ID? Maak er nu een aan

    Woah :|
    and u get ppl who understand this language :) hahaha damn.
     
    "sourire toujours, la vie est belle"
    27 Mei

    Links naar je weblog

    De URL voor de link naar dit weblogitem is:
    http://chayce-za.spaces.live.com/blog/cns!B69C6138F2FF2771!196.trak
    Weblogs die naar dit item verwijzen
    • Geen
    *