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>)