Registriert: Do Jan 02, 2003 13:38 Beiträge: 104 Wohnort: Bremen
Folgendes: Ich hätte in meinem Spiel gern ein Spielfeld. Soweit so gut, nur stellt sich für mich da folgende Frage: Ein Spielfeld muss ja eigentlich nicht pausenlos gerendert werden, da finden ja praktisch keine Änderungen dran statt...also hab ich das einfach nach dem initialisieren von opengl aufgerufen. funktioniert auch, probleme gibts dann aber mit dem
Code:
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
was ich ja nun benötige?
Hat einer da vielleicht nen fixen ratschlag?
gruß Howi
_________________ -------------------------------------------------------
<br>Wer andern eine Brawurst brät,
<br>hat ein Bratwurst Bratgerät......
<br>
<br>So long, Howard ^^
<br>-------------------------------------------------------
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Wenn ich dich richtig verstehe, dann willst du dein Spielfeld nur einmal beim Programmstart in den Frambuffer kopieren, und später nur die Änderungen darauf (z.B. laufende Spielfiguren) rendern, ohne dabei das im Frambuffe befindliche Spielfeld zu verändern?!?
Ds geht rein technisch mit deinem Ansatz nicht.Wenn das Spielfeld im Framebuffer ist, dann wirds durch glClear(GL_COLOR_BUFFER_BIT) ja logischerweise wieder gelöscht.Also dürfte diese Zeile nirgends auftauchen.
Das Ganze wird aber in der Praxis etwas komplizierter, da du den Bereich unter einer Spielfigur irgendwohin kopieren musst, um ihn, nachdem sich die Spielfigur woanders hin bewegt hat wiederherzustellen.
Dazu kopiert man den Bereich entweder in eine eigene Textur (langsam) oder den Akkumulationspuffer (noch langsamer, da nicht hardwarebeschleunigt).
Nehmen wir also an, du machst das mit RenderToTexture :
-> Prüfe wo die Spielfigur steht
-> Kopiere diesen Bereich des Spielfelds in die Textur
-> Zeichne Spielfigur
-> Spielfigur verlässt diesen Platz
-> Kopiere Bereich aus der Textur wieder zurück in de Framepuffer
Kurz und schmerzlos : es macht keinen Sinn...zeichne das Spielfeld einfach in jedem Frame, ansonsten wids wirklich kompliziert, und durch das Pixelkopieren geht auch der Geschwindigkeitsvorteil verloren!
damit erzeuge ich 8 rechtecke dich ich passend texturiere..allerdings hab ich das gefühl das diese schleife tükisch ist da objekte die ich davor oder danach zeichne schlicht nicht angezeigt werden 8O
_________________ -------------------------------------------------------
<br>Wer andern eine Brawurst brät,
<br>hat ein Bratwurst Bratgerät......
<br>
<br>So long, Howard ^^
<br>-------------------------------------------------------
Mitglieder in diesem Forum: 0 Mitglieder 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.