Vertex Arrays - Es wird nichts angezeigt (Erledigt)
Übersicht

![]() |
FreakForFreedomBetreff: Vertex Arrays - Es wird nichts angezeigt (Erledigt) |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi Leute!
Ich poste ja eigentlich nicht gerne, sondern suche lieber die Weiten des mächtigen Googles ab, jedoch komm ich jetzt nicht mehr weiter. Ich möchte ganz einfach eine Heightmap laden und dann alle X,Y,Z-Werte in ein Array schreiben, dass dann mit glDrawArrays() gerendert wird. Anfangs wollte ich es mit VBO's machen. Es wurde nichts angezeigt. Dann hab ichs mal mit Vertex Arrays ausprobiert, hat leider nichts geändert. Wie bereits gesagt, ist mein Problem ganz einfach: Es wird was berechnet, die FPS sinken merklich, jedoch wird nichts angezeigt. Ich bin sicher, es ist nur ein ganz kleines Problem, etwas, was ich übersehen habe. Aber ihr wisst ja selbst, wie "blind" man sein kann. ![]() Würd mich sehr über jede Hilfe freuen. Hier mal der wichtigste Teil des Codes, hoffe es fehlt nichts: Edit: Habs gefunden. Hatte die Function zum Erstellen des Vertex Arrays von einem Tutorial, desshalb dachte ich, sie würde ohne weiteres gehen. Tja, hab sie umgeschrieben, nun läufts. ![]() Code: [AUSKLAPPEN] SuperStrict
Import pub.glew //includes Global ScreenWidth:Int = 800 Global ScreenHeight:Int = 600 Global Screendepth:Int = 0 Global HertzPerSec:Int = 60 Global Wireframe:Byte = 0 Global Camera:TCamera = TCamera.Create(ScreenWidth, ScreenHeight, 45.0, 0.1, 5000) Camera.PZ = 5 InitGl() Global HM_URL:String = "data/Terrain.bmp" Global HeightMap:TPixmap Global Width:Int = 512 Global Height:Int = 512 Global Map:Float[Height,Width] Const Resolution:Int = 4 ' Pixel per Vertex Global SX:Float = 1.0, SY:Float = 1.0, SZ:Float = 1.0 ' Skalierungsfaktor des Terrains 'Vertices Global NumberOfVertices:Int = Width*Height*3 Global Vertices:float[NumberOfVertices] 'Heightmap laden HeightMap = LoadPixmap(HM_URL) For Local x:Int = 0 To (Width - 1) For Local z:Int = 0 To (Height - 1) Map[x,z] = ReadPixel(HeightMap,x,z) Next Next HeightMap = Null 'Vertexarray erzeugen For Local x:Int = 0 To Width-1 Step Resolution For Local y:Int = 0 To Height-1 Step Resolution Vertices[(y+x*Height)*3] = (x*SX) Vertices[((y+x*Height)*3)+1] = (Map[x,y]*SY) Vertices[((y+x*Height)*3)+2] = (y*SZ) Next Next While Not KeyHit( KEY_ESCAPE ) Clear() Controls() UpdateCamera() glEnableClientState(GL_VERTEX_ARRAY) glVertexPointer(3,GL_FLOAT,0,Vertices) glDrawArrays(GL_TRIANGLES,0,300) '300 ist nur eine Zahl zum testen... glDisableClientState(GL_VERTEX_ARRAY) Flip 0 Wend //Alle Variablen und Pointer werden = Null gesetzt. EndGraphics() End |
||
Mfg
F.F.F. "Try and ERROR!" |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group