DIRECTX 9.0 - Terrein

Voordat ge aan 3D programmeren begint, zijn er toch enkele zaken die opgeklaard moeten worden.

Vertices

We beginnen bij het begin, en proberen een punt aan te duiden in een 3D ruimte.
Zulk een punt wordt een "vertex" (mv: vertices) genoemd, een punt met een X, Y, en Z coordinaat. bvb: [1,-1,0] .

Driehoek

Als ge dan drie apparte vertices tekent en deze verbindt, krijgt ge een driehoek.


Heightmap

Het terrein wordt getekend aan de hand van driehoeken (die uit 3 ruimtelijke punten bestaan),met deze driehoeken kunt ge dan vierkanten vormen en zo een persoon/voorwerp/terrein tekenen. De hoogte en laagtes van het terrein hangen af van welke coordinaten ik ze toewijs.

Om dit terrein te vormen heb ik een heightmap gebruikt.
Hier heb ik gebruik van een .BMP bestand als heightmap, hier bereken ik dan de verschillende grijswaarden van de .BMP en alloceer er verschillende hoogtes aan.

zo kunt ge zien dat het .BMP bestand eigelijk een "top view" is van het getoonde terrein. (waarbij wit= hoge stukken, zwart=lage stukken).


Kleuren

Vervolgens heb ik naargelang de hoogtes, kleuren toegevoegd, om een ietswat "realistischer" beeld te krijgen van het terrein. Hiervoor heb ik maar vier kleuren gebruikt: blauw (water), voor de laagste, groen voor de iets hogere (gras), rood(rots) voor de hogere en wit (sneeuw) voor de hoogsten.
Op de volgende foto zijn de driehoeken gevuld met hun kleur.
Zoals ge kunt zien is het allemaal heel flets.
Omdat er geen juiste belichting en schaduwen is, lijkt er op sommige stukken geen hoogteverschil meer te zijn.



Belichting

In deze stap heb ik geprobeerd om een simpele belichting aan het terrein toe te voegen, om zo terug een merkbaar hoogteverschil te kunnen tonen.




...wordt vervolgd...