Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Do Mai 23, 2024 04:37

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 19 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Autor Nachricht
 Betreff des Beitrags: Re: SDL Ersatz gesucht!
BeitragVerfasst: Fr Mär 07, 2014 18:32 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 14, 2013 21:17
Beiträge: 588
Programmiersprache: C++
Ich glaube, es geht darum, auch während der Laufzeit vom Programm berechnete Bilder/Texturen als PNG zu speichern - z.B. für Screenshots. Vor einiger Zeit war ich auch auf der Suche nach einer Library, die genau das kann und einfach zu benutzen (d.h. auch gut dokumentiert) ist - allerdings für C++. Ich bin nicht fündig geworden.

Da gibt es einerseits das offizielle libpng, das jedoch in grässlichem C-Stil programmiert ist. Nach einigen Stunden Suche im Web, im Quellcode und in den mitgelieferten Beispielen hatte ich immer noch nicht gelernt, wie man denn nun ein stinknormales RGB- bzw. RGBA-Array als PNG speichert. Dann gibt es noch PNG++ oder so ähnlich, das ein objektorientiertes Interface für libpng bereitstellen will. Es machte aber noch einen unfertigen Eindruck und aus irgendwelchen weiteren Gründen habe ich diese Library dann auch verworfen. Ein oder zwei weitere Lösungen gab es noch, die aber alle einen so schlechten Eindruck machten, dass ich mich jetzt nichtmal mehr erinnern kann, wie diese hießen. :x

Frustriert habe ich dann einfach einen TGA-Export per Hand implementiert (ohne Kompression). Das hat vielleicht eine halbe Stunde gedauert, weil das Format wirklich sehr einfach gestrickt ist. Das ist allerdings eher eine Notlösung, daher wäre ich auch an Vorschlägen interessiert. Auffällig bei PNG ist übrigens auch, dass nicht alle Programme, die PNG-Export unterstützen, die selbe Kompression hinbekommen. Meiner Erfahrung nach erreicht man mit IrfanView die kleinsten Dateigrößen.

_________________
So aktivierst du Syntaxhighlighting im Forum: [code=pascal ][/code], [code=cpp ][/code], [code=java ][/code] oder [code=glsl ][/code] (ohne die Leerzeichen)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SDL Ersatz gesucht!
BeitragVerfasst: Fr Mär 07, 2014 20:38 
Offline
DGL Member
Benutzeravatar

Registriert: Di Okt 29, 2013 13:26
Beiträge: 8
Wohnort: Mönchengladbach
Programmiersprache: FreePascal
Lord Horazont hat geschrieben:
Huch. phobeus.de :). Versuch mal http://delphigl.com/forum, das ist die offizielle Adresse :)

grüße


Ist mir garnicht aufgefallen! Hab einfach nur gecopyed/gepasted. :lol:

glAwesome hat geschrieben:
Ich glaube, es geht darum, auch während der Laufzeit vom Programm berechnete Bilder/Texturen als PNG zu speichern - z.B. für Screenshots.


Nicht nur das!
Man stelle sich vor man hat sich einen riesigen Ordner mit Texturen angelegt, die für den späteren Gebrauch zur verfügung stehen. Aber im Ordner haben die Texturen verschiedene Formate (unter anderem auch Formate die SDL oder auch glBitmap nicht unterstützt).
Wenn man diese nun gebrauchen will, muss man diese zuerst mit einen Bildbearbeitungprogramm konvertieren. Das kann je nach Größe und Menge der Daten, eine ganze Zeit dauern.
Wäre mein OpenGL Programm in der Lage dies direkt zu konvertieren oder sogar zu speichern (womit man sogar vieleicht ein Bildbearbeitungsprogramm basierend auch OpenGL erstellen könnte), wären alle Probleme gelöst: Kein zusätzliches konvertieren, beschleunigte ladezeit (da nicht mehr aus 3. Hand geladen wird), echtzeitbearbeitung mit speicheroption und einiges was mir vieleicht nicht einfallen will... :shock:

Apropo beschleunigte ladezeit: Könnte das nicht auch mit den OpenGL internen Textur-klassen funktionieren? Heißt: Alles in ein OpenGL format quetschen und dann einfach lesen.

yunharla hat geschrieben:
Naja du koenntest auch waehrend des Buildprozesses (oder bei gesetzten Debug flag) ein anderes Programm starten das dir die Sachen konvertiert. Ich benutze hier zum Beispiel gerne Inkscape um SVG Dateien nach png umzuwandeln. Das wiederum wandel ich dann mit .NET in mein eigenes Format um. Hat halt den grossen Vorteil das man sich um Lizenzen, Dependecies usw. gar keine Gedanken mehr machen muss.


Also wandelst du andere Formate in png und dann in dein Format um, was du dann später wieder nach OpenGL transverierst?
Das würde ich aus 4. Hand nennen! Recht komplexes Verfahren.
Wie lange brauchst du denn, bis deine Textur auf den Bildschirm klebt?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SDL Ersatz gesucht!
BeitragVerfasst: Sa Mär 08, 2014 13:13 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Umwandeln: Macht man nur einmal beim bauen, sogar mit einem einfachen Makefile bekommt man das so hin, dass das nicht unnötig oft neu gemacht wird. Gerade auf Linux ist das dann auch trivial, alles in alles zu konvertieren, mit ImageMagick. Ernsthaft, dieses tool kann sogar irgendsoein obskures US-amerikanisches Behörden/Militärrastergrafikformat lesen, was ich sonst mit garnichts aufbekommen habe.

Der große Vorteil ist, dass ImageMagick als Commandline-Tool kommt, dementsprechend ist die geschichte mit einem find | xargs -- convert erledigt (so ungefähr).

grüße

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy 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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: SDL Ersatz gesucht!
BeitragVerfasst: Sa Mär 08, 2014 23:14 
Offline
DGL Member
Benutzeravatar

Registriert: Di Okt 29, 2013 13:26
Beiträge: 8
Wohnort: Mönchengladbach
Programmiersprache: FreePascal
Metadraconis hat geschrieben:
Ich habs jetzt irgendwie geschafft, ein Fenster mit OpenGl-Context zu rendern. So weit so gut... aber es wird nur der Hintergrund (also glClearColor) gerendert und keines meiner gezeichneten Objekte. (kotz) :(

(Bin mir aber sicher, dass ich das irgendwie zurechtgebogen bekomme. Falls nicht wende ich mich wieder an euch)


Haha! Hab den fehler in meinen SDL2-Programm gefunden. Lag an der OpenGL versionierung. :D
Läuft jetzt. Zwar noch ohne wirkliches Eventhandling, aber das lässt sich ja schnell ändern.

Ich kann ja mal versuchen, falls gewünscht, ein geregeltes Template dazu basteln. So wie das, für SDL 1.X, hier in der DGL Community. http://wiki.delphigl.com/index.php/Archiv:template_delphi_sdl

Schätze mal das SDL2 auch für Neueinsteiger und Noobs wie mich, dass sehr interessieren dürfte. Vor allem beim rarren Material im Internet zu diesem Thema (alles in C++ und in englisch :x ).

Lord Horazont hat geschrieben:
Umwandeln: Macht man nur einmal beim bauen, sogar mit einem einfachen Makefile bekommt man das so hin, dass das nicht unnötig oft neu gemacht wird. Gerade auf Linux ist das dann auch trivial, alles in alles zu konvertieren, mit ImageMagick. Ernsthaft, dieses tool kann sogar irgendsoein obskures US-amerikanisches Behörden/Militärrastergrafikformat lesen, was ich sonst mit garnichts aufbekommen habe.

Der große Vorteil ist, dass ImageMagick als Commandline-Tool kommt, dementsprechend ist die geschichte mit einem find | xargs -- convert erledigt (so ungefähr).

grüße


Mhhh, Image Magick. Kommt mir bekannt vor (auf meinem Apacheserver).
google... http://www.imagemagick.org/

Cool, danke. Dazu gibt es auch reichlich Material im Internet für Pascal.

Ich könnt dir die Füße Küssen. :mrgreen: (werde es möglichst bald testen)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 19 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 10 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.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 14 Queries | GZIP : On ]