Registriert: Mo Jan 31, 2005 11:02 Beiträge: 432 Wohnort: Rheinlandpfalz
Hi Leute,
Ich habe ein Problem bei der Darstellung meiner Heightmap.
Zuerst hatte ich die HMap in einer DisplayListe gerendert (mit Multitexturing für die Level-of-Detail-Textur).
Jedoch ist die Auflösung der LoD-Textur recht hoch (256x256), und das zieht ordentlich die FPS runter.
Da ich die hochauflösende LoD-Textur nicht mit einer niedrig-Aufgelösten ersetzen will, dachte ich man müsste ja
nur im nahbereich des Spielers die hochaufgelöste Textur nehmen und für weiter weg kann man ja die niedrig-Aufgelöste nehmen.
Also fällt ja die DisplayListen Methode weg.
Bleibt nur noch die Methode über Vertex Arrays.
Nachteil ist da aber, dass ich keine Möglichkeit habe die Multitexture-Koordinaten in ein Array zu packen.
Dadurch steigen die FPS nicht wirklich höher (sind aber kostanter) als das mit der DListe und überall die hochauflösende Textur der Fall war.
Ich muss halt nach jedem Aufruf von glArrayElement die MultiTextureKoord. setzen und kann nicht über einen Aufruf die HMap rendern.
Gibt es noch andere möglichkeiten oder geht das mit dem Multitexturing bei VertexArrays doch irgendwie?
Registriert: Mo Jan 31, 2005 11:02 Beiträge: 432 Wohnort: Rheinlandpfalz
Vielen Dank.
Ich werde mir das mal anschauen.
Komisch, als ich das Forum vorher durchsucht habe, habe ich nichts zu diesem thema gefunden.
Noch mal kurz zum Verständnis:
Es gibt also für jede Texture-Einheit die Funktion glTexCoordPointer(...) ?
Das heisst: Jede Textur-Einheit speichert ihre eigenen TextureCoordinaten Arrays
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
MatReno hat geschrieben:
Komisch, als ich das Forum vorher durchsucht habe, habe ich nichts zu diesem thema gefunden.
Beim Suchen hilft einem oftmals, wenn man ein bisschen weiß wonach man suchen muss. Nach glVertexPointer gesucht offenbahrt so einiges. Aber das muss man erst mal wissen. Und dafür gibts ja genügend Ansprechpartner.
Aber Nico hat da vollkommen recht. Das System ist so aufgebaut, dass es extrem extrem flexibel ist. Um die Sache noch ein bisschen weiter auszuholen.
Rein Theoretisch könntest du es auch so machen, dass du zu erst alle Vertexdaten hast, dann alle Farbdaten, TexturCoordinaten etc. Und nicht so wie es meistens angewendet wird die Daten der einzelnen Vertices zusammgehalten.
Wenn du es geschickt anstellst kannst du auch bei den Texturcoordinaten den Vertexbuffer mit benutzen. Du musst dafür Sorgen, dass X, Y der Vertexdaten sich im bereich zwischen 0 und 1 bewegen und Z die Höhe des Vertex ist. Musst du vor dem Zeichnen allerdings rotieren. Und dann könntest du bei den Texturcoordinaten zum Beispiel sagen, dass diese die X und Y Komponente der Vertexdaten benutzen und dann eine Komponente platz lassen sollen. Um das mal ganz heiß zu spinnen. Also Möglich ist so ziemlich alles was du dir in deinen Träumen vorstellen kann. Aber ich glaube ich schweife ab.
Registriert: Mo Jan 31, 2005 11:02 Beiträge: 432 Wohnort: Rheinlandpfalz
Ich bekomm es nicht zum laufen. Irgendwie werden für beide Texturen die 2-ten-TexturCoordinaten(*) benutzt,
obwohl die NUR für die 2. Texture-Unit (GL_TEXTURE1) gelten sollten...
Mitglieder in diesem Forum: Bing [Bot] und 3 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.