Terreng- og landskapsgenerering
Oversikt
Høydekart - en innføring i hvordan bygge såkalte høydekart. Dette er utgangspunktet for å generere fjell og daler på terrenget, og bølger på vannet.
- Gråskalabilder - en innføring i hvordan bruke gråskala bilder for å generere høydeforskjeller på terrenget.
- Glatting - en innføring i hvordan terrenget kan glattes for å unngå for skarpe kanter
- Normaler - en innføring i hvordan beregne normaler på flater med og uten interpolering
Vann - en innføring i hvordan generere en enkel, transparent vannoverflate
Himmel - en innføring i hvordan generere en enkel himmel-"sphere". En halvkule over terrenget med tekstur som himmel
Tekstur- en rask innføring i hvordan legge teksturer på flater
- Koordinater - en innføring i hvordan finne teksturkoordinatene til en en flate som er bygd opp av flere polygoner
- Generering av egne teksturer - en innføring i hvordan lage sin egen enkle tekstur som varierer med høydeforskjellene på terrenget
Displaylister - en enkel innføring i hvordan bruke display lister
Bilder- forskjellige bilder av forskjellige terreng med forskjellig teksturer
Resultatkoden
Resultatet av koden har blitt en "terreng-motor" hvor funksjoner som størrelse, forskjellige teksturer, bakgrunnsfarge, vannlinje, bølgestørrelse osv. kan sendes som parametere til en konstruktør i klassen "Terreng.java" og bruker kan på den måten forandre terrenget til akkurat det en selv ønsker. Pseudo-koden til konstruktøren som tar imot parametrene ser sånn ut:
public Terreng( <Bredde(canvas)>, <Høyde(canvas)>, <Terreng-gråskalabilde>, <Vann-gråskalabilde>, <Vann høyde over bakken>, <Terrengets stride>, <Max bølgehøyde>, <Max fjellhøyde>, <Toppen av himmelkule>, <Nederst på himmelkule>, <Navn på tekstur bilder>, <Hvor mange ganger teksturen skal gjenntas>, <Egenlagd tekstur på terreng(true/false)>, <Tåke(true/false)>, <Bakgrunnsfarger>)