Terräng-motorns uppgift är att utifrån en längd och en bredd skapa ett "rutnät" med massor av trianglar som tillsammans ska bilda ett vackert lanskap med kullar berg och dalar!
1: Jag började med en ekvation för att placera ut mina Vertices i ett rutnät utifrån en höjd och bredd
2: Utifrån mina vertex skapade jag ett s.k. Index. Ett index är en massa siffror som härleder till mina vertex och som hjälper grafik-enheten i datorn att behandla mina data.
3: All data för för jag sedan över till grafik-enheten's internminne med en s.k VertexBuffert för mina Vertices och en IndexBuffert för min Indices. Anlendningen är att grafik-kortet behöver dessa data för att skapa mina trianglar och om de redan ligger på grafik-kortet blir det väldigt lätt-tillgängla och hela processen går snabbare! Tänk dig själv behöva springa ner till hemköp och köpa en penna varje gång du skulle skriva nåt istället för att bara öppna skrivbords-lådan?
4: Jag har en funktion som i princip startar igen precis när den tagit slut. Positionerar jag ut mina vertex och indices från buffertarna på min World-Matrix,
5: Varje vertex flyger iväg i en ström till en "Shader" som "färglägger" dom försig. Som ett rullband i en leksaksfrabrik med bollar som ska färgläggas! Jag ger även instruktioner om hur stor varje Vertex är i bytes för att veta precis var på strömmen en vertex slutar och nästa börjar.
6: Varje vertex blir positionerad utifrån min Kameras Projection-Matrix och min View-matrix.
Detta placera dom på en 2d-skärm fast skapar känslan av en 3d-Värld!
Resultatet ser ni här. Jag har inte angivit någon speciell färg än så jag renderar d.v.s ritar dem ihåliga i s.k. wireframe-stadium.
Inga kommentarer:
Skicka en kommentar