Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Library zum laden von Bildern

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Bibliotheken
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
darkinsanity
aka sts


Anmeldungsdatum: 01.11.2006
Beiträge: 456

BeitragVerfasst am: 02.12.2008, 12:38    Titel: Library zum laden von Bildern Antworten mit Zitat

Hi,
nachdem ich mich jetzt schon die ganze Zeit mit Routinen zum laden von TGA´s und PNG´s rumplage, hab ich beschlossen mir einfach eine Library zu suchen, die das für mich macht.
Ich brauch also eine Library, die BMP, TGA und PNG dateien läd, damit ich sie als texturen weiterverwenden kann. Kann mir da jemand eine Library empfehlen?
danke.
_________________
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst -- Steve Wozniak
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 02.12.2008, 12:55    Titel: Antworten mit Zitat

http://www.freebasic-portal.de/index.php?s=tutorials&id=33&seite=1
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
darkinsanity
aka sts


Anmeldungsdatum: 01.11.2006
Beiträge: 456

BeitragVerfasst am: 02.12.2008, 16:33    Titel: Antworten mit Zitat

danke, FreeImage sieht so aus als wär es genau die richtige Lib. Aber wo bekomm ich denn die Dateien für Linux her? Auf der sourceforge-Seite konnte man nur die Win32 Version und den source herunterladen.
_________________
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst -- Steve Wozniak
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 02.12.2008, 17:44    Titel: Antworten mit Zitat

musst du selbst kompilieren (-> README.linux)
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Heizi



Anmeldungsdatum: 19.01.2005
Beiträge: 309

BeitragVerfasst am: 03.12.2008, 10:16    Titel: Antworten mit Zitat

Kanst ja auch SDL probieren.
Installieren lässt es sich glaub ich ganz leicht unter ubuntu.
apt-get install libsdl-dev

kanst auch mal
sudo apt-get install libfreeimage-dev

probieren.
MfG
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
darkinsanity
aka sts


Anmeldungsdatum: 01.11.2006
Beiträge: 456

BeitragVerfasst am: 03.12.2008, 12:25    Titel: Antworten mit Zitat

ok danke,
ich hab es geschafft das FreeImage meine Texturen läd und OpenGL sie anzeigt, die Farben sind zwar noch irgendwie falsch (PNG) aber das is mir erstmal egal es läuft überhaupt Yahooo!!!!
_________________
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst -- Steve Wozniak
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Lutz Ifer
Grillmeister


Anmeldungsdatum: 23.09.2005
Beiträge: 555

BeitragVerfasst am: 03.12.2008, 15:11    Titel: Antworten mit Zitat

Das mit den falschen Farben und SDL ist ein bekanntes Problem (mir zumindest) Lösung ist recht einfach:

Ein SDL_Rect kann Bildinformationen in pervers vielen unterschiedlichen Formaten enthalten, in RGBA-Kodierung oder GBR, um nur zwei zu nennen. OpenGL kann auch mit beiden Formaten umgehen - will aber vorher explizit wissen, welcher von beiden es denn ist, siehe der Parameter, der auf "GL_RGBA" oder "GL_GBR" gesetzt ist.

Du hast zwei Möglichkeiten:

  • Durch irgendeinen Pfusch und Abfragen der Farbmasken (auch im SDL_Rect enthalten) rausfinden, welche Kodierung vorliegt, und glGenTexture den entsprechenden Parameter übergeben, oder:
  • die bessere Variante: ein zweites, temporäres SDL_Rect anlegen, dass die gleichen Dimensionen hat, wie dein ursprüngliches Bild, aber vorgegebenerweise RGBA zur kodierung verwendet. Dann per SDL_Blit auf das zweite SDL_Rect blitten, und das Bild liegt in einer garantiert richtigen Formatierung vor, um glGenTexture mit GL_RGBA zu verwenden.


Der Code (in C++, sollte aber leicht übersetzbar sein):
Code:
SDL_Surface*    Image = IMG_Load("datei.erweiterung");

if(0 == Image)
{
   std::cout << "bild nicht geladen!!" << std::endl;
   return false;
}

SDL_Surface*    Converted = SDL_CreateRGBSurface
(
   SDL_SWSURFACE,
   Image->w,
   Image->h,
   24,
   0x000000ff,
   0x0000ff00,
   0x00ff0000,
   0xff000000
);

SDL_BlitSurface(Image, 0, Converted, 0);
glGenTextures(1, &GlId[i]);
glBindTexture(GL_TEXTURE_2D, GlId[i]);

glTexImage2D
(
   GL_TEXTURE_2D,
   0,
   3,
   Converted->w,
   Converted->h,
   0,
   GL_RGB,
   GL_UNSIGNED_BYTE,
   Converted->pixels
);

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

SDL_FreeSurface(Image);
SDL_FreeSurface(Converted);


Braucht allerdings noch zusätzlich das Paket SDL_Image und SDL_Image-dev, welche meiner Meinung nach aber auf jedenfall auf den PC gehören, weil mit diesem Paket SDL in der Lage ist, so gut wie jedes Grafikformat zu benutzen. (Ich verwende das Paket übrigens für mein aktuelles Projekt
_________________
Wahnsinn ist nur die Antwort einer gesunden Psyche auf eine kranke Gesellschaft.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
darkinsanity
aka sts


Anmeldungsdatum: 01.11.2006
Beiträge: 456

BeitragVerfasst am: 04.12.2008, 12:07    Titel: Antworten mit Zitat

danke,
jep das hab ich gestern beim rumprobieren rausgefunden^^
FreeImage läuft wunderbar und lädt alles was ich brauch. Also: Problem gelöst lächeln
_________________
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst -- Steve Wozniak
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Bibliotheken Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz