hi, hab vor ein paar tagen mal versucht die routine aus der wiki einzubauen, aber die funktioniert nicht. Ich kenne mich mit der materie der Screenshotsbastelei auch ueberhaupt nicht aus und habe noch nie selber bilder mit farbkanaelen usw. selber per programm erschaffen lassen usw. Lossy sagt, dass die Routine aus der Wiki ohnehin einige Fehler aufweist, aber bisher hab ich es noch nicht hinbekommen, sie zum laufen zu kriegen. hat von euch vllt einer ne Prozedur, woran man maal sehen kann, wie man nen Screenshot per sdl realisieren kann?
Mit TGA kann ich leider nicht dienen, aber für den Anfang sollte es reichen, oder?
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
In dem Artikel steht, dass es auch mit dem Hauptsurface geht. Und Shaddow hat es genau darüber versucht. Wobei wenn ich jetzt so drüber nachdenke wüsste ich nicht ob das überhaupt mit dem Surface gehen würde. Weil dann müsste SDL selbst die Daten zurücklesen. Zum Glück steht in dem Artikel auch wie das angestellt wurde. Denn so ohne Weiteres ging es bei mir gerade nämlich nicht.
Aber du kannst natürlich auch das mit glReadPixels gelesene Surface an die Methode übergeben.
Der Screenshot wird fehlerfrei umgesetzt nur ist letzten endes nur das Koordinatensystem zu sehen. Weder meine FPSAnzeige noch meine Partikeleffekte. Ich gehe mal ganz stark davon aus, dass irgendwie die Texturen nicht mitgespeichert werden, weil alle Sachen, die nicht zu sehen sind, texturiert waren
Edit: eine weitere Möglichkeit wäre ja, dass es an den Alphawerten liegt, da alle Sachen die fehlen nicht nur Texturiert waren, sondern auch alphageblendet. Also hab ich mal mit meinem wenigen Wissen den Code noch um den Alphakanal erweitert. Der Screenshot wird fehlerfrei gemacht nur....
Kommt da ein derber grafikfehler
Edit2: Gut nachdem ich nun die BPP auf 32 von 24 hochgesetzt habe, verschwinden die Grafikfehler und die GL_BGRA-Grafik sieht genauso aus, wie die GL_BGR... eigenartig
also ich hab evtl den titel falsch gewählt, denn im grunde muss dieser screenshot nicht zwingend mit sdl sondern kann auch mit ogl gemacht werden, ich kann und will nur keine windowseigenen funktionen nutzen
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
hmm, also, die BPP der BMPSurface würde ich auf 24 lassen, sonst kommt Windoof damit nicht klar.
Aber: Bist du sicher, dass du den Screenshot an der richtigen Stelle abgreifst? Er kann ja nur die sachen auslesen, die schon gezeichnet sind, also am besten immer direkt vor SDL_GL_SwapBuffers.
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Arg sowas dummes ^^
Ich hab die Screenshotprozedur per Eventmanager an ein KeyDownevent gekoppelt und mein eventmanager wird bei jedem Rendervorgang immer als aller erstes (allerdings nach dem zeichnen des Koordinatensystems) ausgeführt. Habs jetz etwas umgebaut und violá:
(Das Bild zeigt mal meine Partikelengine an ein Bass.dll-Modul gekoppelt, wo also die Partikeleffekte von Frequenz und Amplitude der Soundtracks abhaengen)
Mitglieder in diesem Forum: 0 Mitglieder und 7 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.