Images

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

 

Ava

Gast

Betreff: Images

BeitragSo, Aug 28, 2005 23:22
Antworten mit Zitat
Huhu, ich hätte da mal ein paar Frage bezüglich der Images/Pixmaps in BMax:

- es gibt wohl keinen Befehl, um Bilder auf Festplatte (SaveImage()) zu speichern, oder habe ich da etwas übersehen? gibt es da ansonsten schon von irgendwem irgendwo eine ergänzende Funktion?

- ich habe mal irgendwo gelesen, das BMax alle Bilder in 16x16, 32x32, 64x64, 128x128 ect. Format speichert. Das würde ja dann bedeuten, ein Bild von der Grösse 80x60 Pixel würde demnach den selben Speicher belegen, wie ein 128x128 Pixel Bild, habe ich das richtig verstanden?

- und wie ist das bei AnimImages? werden die in Einzelbildern diesen Formaten entsprechend gespeichert oder nur das grosse Gesamtbild umformatiert?

- eine pixel-perfekte Kollision gibt es in BMax wohl nicht, oder? Das Kollisionsystem habe ich bisher noch nicht so richtig verstanden (eine genaue Erklärung findet man in der Hilfe ja leider auch nicht *schluchz*).

Wäre sehr förderlich, könnte mir darauf jemand Antworten geben.
Lieben Dank schon mal Vorraus! Smile

+ Ava +

Fetze

BeitragSo, Aug 28, 2005 23:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Die anderen Fragen kann ich zwar nicht beantworten, aber ich bin mir ziemlich sicher ,dass die Kollision in Bmax Pixel-Perfekt ist. Oder zumindest sehr sehr nah dran. Schau mal nach Imagescollide und Imagescollide2
 

Ava

Gast

BeitragSo, Aug 28, 2005 23:42
Antworten mit Zitat
Es ist in der Hilfe ja leider nicht wirklich etwas sehr ausführlich dokumentiert. Sad ...ich hatte mich jetzt schon entschieden, selbst eine Kollision zu programmieren... aber vielleicht lohnt es sich dann ja doch, vorher nochmal ein wenig mit den internen Funktionen rumzuprobieren Question Exclamation

Danke für Deine Antwort

Fetze

BeitragSo, Aug 28, 2005 23:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Also Imagescollide funktioniert genau wie vorher in Blitzbasic und Blitz3d. Nur ein paar neue Parameter.

rema

BeitragMo, Aug 29, 2005 7:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Ava hat Folgendes geschrieben:
Es ist in der Hilfe ja leider nicht wirklich etwas sehr ausführlich dokumentiert. Sad


Da hättest du ehr im Beginner-Corner posten sollen Exclamation

Aber hier mal deine Antwort zu SaveImage:
http://www.blitzbasic.com/Comm...=saveimage
http://www.blitzbasic.com/Comm...=saveimage
 

Ava

Gast

BeitragMo, Aug 29, 2005 7:48
Antworten mit Zitat
Danke, der zweite Link war mir sehr nützlich!
 

Dreamora

BeitragMo, Aug 29, 2005 10:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Bilder werden (min. in OpenGL) auf 2^x Grössen konvertiert, da sie sonst nicht OpenGL 1.2 konform wären.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

TheShadow

Moderator

BeitragMo, Aug 29, 2005 13:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Blitz3D konvertiert beim Laden auf 2^x - dadurch entstehen "verwaschene" Sprites. BlitzMax verbraucht zwar 2^x Bildgröße - jedoch werden die Grafiken nicht skaliert...
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2
 

Ava

Gast

BeitragMo, Aug 29, 2005 20:06
Antworten mit Zitat
Das ist sehr gut zu wissen!
Weis denn auch jemand, wie das mit den Animationen aussieht? Speichert BlitzMax AnimImages in vielen kleinen Bildern oder in einem grossen? Das wäre für mich schon wichtig, damit ich nicht unnötig viel Speicher durch sclhecht gewählte Bildgrössen verschwende. Confused

Fetze

BeitragMo, Aug 29, 2005 20:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich gehe mal davon aus, dass mehrere Texturen verwendet werden, um die maximale Texturgröße der Graka nicht zu schnell zu erreichen.... btw, wie bekommt man die eigentlich heraus?
 

Dreamora

BeitragMo, Aug 29, 2005 21:12
Antworten mit Zitat
Benutzer-Profile anzeigen
AnimImage erzeugt mehrere einzelne Bilder aus dem Hauptbild.

Gut gegen die Maximalgrössenbeschränkung, schlecht für den Speed.
Deswegen habe ich die DrawImageArea Funktion geschrieben, die mit der man Bilder wie mit dem alten DrawImageRect zeichnen kann (da der Befehl leider schon belegt war, konnte ich ihn nicht nehmen Wink)


Maximale Texturgrösse: Das hängt von der API ab. Bei OpenGL gibts dazu eine sehr praktische Funktion mit der man schier alles erfragen kann, wie es bei DirectX aussieht, weiss ich net.
Da BM allerdings aktuell keinen S3TC / DXT support hat, würde ich eh nicht über 512x512 raus gehen und das läuft eigentlich auf jeder Karte die noch einigermassen gescheit mit der Füllrate vieler 3D Sprites mit verschiedenen Texturen umgehen kann. (GF1 / GF2)
BlitzMax hat ja bekanntlich kein 2D, deswegen läufts auf reinen 2D Karten in OpenGL auch nicht und in DirectX selbst wird es wahrscheinlich auch nicht schneller werden.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

TheShadow

Moderator

BeitragDi, Aug 30, 2005 11:49
Antworten mit Zitat
Benutzer-Profile anzeigen
moment - ich dachte AnimFrames werden in 1 Bild Image gespeichert - nur werden die "vertex-coords" je nach Frame anders gesetzt...

Dreamora - was ist dann der Untersch. zw. deiner Area-Funktion und DrawImageRect? Ich vermute deine ist dann einfacher zu handeln - da gibt man nur 1 Zahl an - statt so viele Koordinaten...

naja gut zu wissen

hm 512x512 ist von gestern... meine alte Karte "ATI Xpert 2000" ~ 5-6 Jahre alte Technik - konnte glaub ich 2048x2048 texturen haben...
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2

Jan_

Ehemaliger Admin

BeitragDi, Aug 30, 2005 12:21
Antworten mit Zitat
Benutzer-Profile anzeigen
also, 2048*2048 ist ein aktuelles Beispiel von maximaler auflösung, das man bei Mainstream Grafikkarten der letzten Jahre findet.
between angels and insects

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group