Laden von 16bit pngs

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

 

TheTaron

Betreff: Laden von 16bit pngs

BeitragFr, Dez 01, 2017 13:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi everyone Very Happy ...(Oh Gott, ich sollte wohl auf Deutsch schreiben?!) Shocked

Nach meinem Schock, dass Blitzmax.com weg is', hab' ich freudestrahlend Euch hier gefunden!
All die Jahre wieder, schau' ich mal, ob jemand einen 16bit png import fuer BlitzMax offiziel gemacht hat, aber irgendwie passiert das nie?!

Ich weiss nicht, ob Ihr schon mal ueber mein "Verve" gestolpert seid? Das ist ein fluid-dynamic basierendes Malprogram (haha, Deutsch macht mich fertig, so seltsam nach ueber 20 Jahren Englisch schreiben). Ich hab' zwar erfolgreich ein 16png saver geschrieben, hatte aber keinen Erfolg mit laden. Mad

Zwischenzeitlich dachte ich daran, eine C++ Funktion zu verwenden. Ich hatte aber Schwierigkeiten, Pointer als Argument weiter zu geben.

Wie dem auch sei, ich bin froh, dass Ihr noch da seid! BlitzMax ist immer noch meine Lieblings-Sandbox! Smile
Danke schon mal im Voraus, fuer jede Idee!

Thunder

BeitragMo, Dez 04, 2017 21:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo!

Wenn du dein 16 bit PNG code herzeigst, kann dir vielleicht jemand helfen, den Fehler oder das Problem im Loader zu finden.
Aber was bringt das eigentlich, wenn du die 16-bit nie zu sehen bekommst? Oder verwendest du ein Grafikmodul, das mit mehr als 8-bit pro Farbe umgehen kann?

Auch wenn du das C++ Binding herzeigst, und erklärst, was du machen möchtest, kann dir vielleicht jemand helfen.

Das Programm schaut echt cool aus. Habe es mir gerade angeschaut. Bin nur nicht graphisch begabt...
Und du hast eh einen ziemlich deutschen Akzent Wink
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit
 

TheTaron

BeitragSa, Feb 03, 2018 9:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh, hab' die Anwort nie bemerkt.
16bit is' für die Height Map, wobei die sogar fröhlicher über 32bit wäre. Zudem sind die auch bei Farben wichtig, weil man die auch bearbeiten können will und bei 8bit bleibt nur wenig Spielraum.
Dass ein Endprodukt in 8bit genug sein könnte, gilt auch nur für online sharing oder kleine Spielchen, aber nicht für Sachen wie Druck oder 3d rendering texturen.

Mein Versuch zu 16bit import in BlitzMax war eine Ableitung des existierenden import codes. Der C Versuch war gleich hoffungslos, weil ich keine Ahnung hab, wie ich Speicher über Argumente damit Teilen könnte.

Ja, selbst 12 Jahre in Los Angeles konnten meine sexy Akzent nicht austreiben! xD
Danke für Deine liebliche Ermutigung. Ein Glück, dass Du mir das nochmal gesagt hast, sonst hätt' ich's beinah' vergessen! ;o)

Thunder

BeitragDi, Feb 06, 2018 22:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Du meinst also nicht 16 bit pro Farbe... sondern 16 bit pro Pixel(?). Naja, was spricht gegen 24 oder 32 bit? Dann kannst du brl.pngloader verwenden.

Man kann relativ einfach Speicher in BlitzMax mit C teilen, wenn man weiß wie es geht.
Du kannst z.B. mit pub.stdc malloc, realloc und free benutzen:

BlitzMax: [AUSKLAPPEN]
Import pub.stdc

Extern "C"
Function zero(buf:Byte Ptr, length%) ' C funktion
End Extern

Local x:Byte Ptr = malloc_(4096)
zero x, 4096


du kannst aber auch einen Pointer in BlitzMax entgegennehmen (Byte Ptr = char* oder void*, Int Ptr = int* ...) aber auch (Byte Ptr Ptr = char** oder void**).
Habe dazu Mal ein Tutorial geschrieben: https://www.blitzforum.de/foru...hp?t=35959

Wenn du konkreter wirst (Beispiel-Code, Beispiel-PNG), kann ich dir wahrscheinlich besser helfen.
 

TheTaron

BeitragDo, März 15, 2018 14:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Ah, danke Dir. Ich weiß wirklich nicht, warum ich als die Benachrichtigungen verpasse über gmail. Aber egal.
Also, vielen Dank! Ich werd' auf alle Fälle mich da nochmal reinwurschteln.

Und, eh, ich meine 16bit per channel, also per pixel. Es geht darum, 16bit pngs für GL_RGBA16F texturen (Framebuffers) laden zu können, ohne die Farbtiefe zu verlieren, also ohne die BlitzMax standard Konvertierung zu 8bit.

brl.pngloader konvertiert ausschließlich, was da mein Problem ist. Ich hatte damals die LoadPixmapPNG() Function versucht umzuschreiben, was mir aber nicht gelingen wollte.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group