Texturen OpenGL

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
felix96
Beiträge: 287
Registriert: So 29. Nov 2009, 17:44
CPU-Target: 32BitWin+64bitUbunt

Texturen OpenGL

Beitrag von felix96 »

Hallo,
habe die Frage hier schonmal gestelt, und zwar wie (verdammt nochmal) kriege ich eine Textur auf'n (z.B.) Viereck?
Bei den Versuchn bis jetzt war mein bestes Ergebnis ein weises Viereck :-(

Danke fürs lesen,
mfg Felix96
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!

Stoney
Beiträge: 19
Registriert: Mo 14. Sep 2009, 15:16
OS, Lazarus, FPC: Mac OS (Lazarus 0.9.31, FPC 2.5.1)
CPU-Target: 32Bit & 64Bit
Wohnort: Königsbrunn
Kontaktdaten:

Re: Texturen OpenGL

Beitrag von Stoney »

Wie lädst du denn genau deine Textur? Benutzt du noch irgendwelche Bibliotheken (SDL, SDL_image)? Hast du dir deinen eigenen Texturloader geschrieben? Kannst du vielleicht etwas Code zeigen?

Am einfachsten geht es sicherlich mit glBitmap von LossyEx. Ein Tutorial dazu gibt es hier.

Oder kann es sein, dass du einfach

Code: Alles auswählen

glEnable(GL_TEXTURE_2D);
oder

Code: Alles auswählen

glEnable(GL_TEXTURE_3D);
(je nachdem was genau zeichnen möchtest) vergessen hast? Du solltest beachten, dass die Textur das Format von 2^n x 2^n Pixel haben sollte (bei Intel GMA 950 - Grafikkarten muss die Textur quadratisch sein).

felix96
Beiträge: 287
Registriert: So 29. Nov 2009, 17:44
CPU-Target: 32BitWin+64bitUbunt

Re: Texturen OpenGL

Beitrag von felix96 »

Nein, hab ich nicht vergessen,
und Code findet man unter dem Link von DGL


Edit: Hier http://wiki.lazarus.freepascal.org/OpenGL_Tutorial#Textures steht man muss die VamoirImagingLibrary einbinden, aber welche unit muss ich dann einbinden?
Bei der gleichnamigen unit kommt später im Code immer:
unit1.pas(111,32) Error: Identifier not found "LoadGLTextureFromFile"
unit1.pas(111,32) Error: Identifier not found "LoadGLTextureFromFile"
Zuletzt geändert von felix96 am Mi 3. Nov 2010, 21:08, insgesamt 1-mal geändert.
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!

shokwave
Beiträge: 470
Registriert: Do 15. Nov 2007, 16:58
OS, Lazarus, FPC: Win11/Ubuntu Budgie (L 3.0 FPC 3.2.2)
CPU-Target: i386, x64
Wohnort: Gera

Re: Texturen OpenGL

Beitrag von shokwave »

Hast du dir den Ordner Examples schon mal angesehen? Da gibt es einen Beispiel für OpenGLControl. Vielleicht hilft dir das weiter.
mfg Ingo

felix96
Beiträge: 287
Registriert: So 29. Nov 2009, 17:44
CPU-Target: 32BitWin+64bitUbunt

Re: Texturen OpenGL

Beitrag von felix96 »

Ja, aber das hilft mir auch nicht.
P.S. es kommt auch noch:
unit1.pas(8,88) Error: Quelltext nicht gefunden: Unit C:\lazarus\components\Imaging\Source\Projects\lib\i386-\vampyreimagingpackage.ppu
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: Texturen OpenGL

Beitrag von MAC »

Hey, OpenGL 8)
Also ich mache das so:
ib benutze glbitmap ( in uses einfügen)
folgenden Code:
Ach ja, bei mir steht im Pfad ein / und kein \
aktivieren mit
BindTexture(Texture_2D,texID);
und dann eben das
glTexCoord2f(u,v);


Code: Alles auswählen

var
   texID:integer;
 
if LoadTexture('D:/...',texID) = True then
          begin
          //Fröhlich
          end
         else// hat nicht geklappt

Code: Alles auswählen

Signatur := nil;

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: Texturen OpenGL

Beitrag von Teekeks »

MAC hat geschrieben:

Code: Alles auswählen

if LoadTexture('D:/...',texID) = True then

:shock: Warum vergleichst du auf true? das result ist doch schon Boolean.

Das kann durchaus auch mal schief gehen (auch der Vergleich auf false)

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: Texturen OpenGL

Beitrag von MAC »

Weist du was ?
Du hast recht, wieso vergleiche ich da auf true :mrgreen:

Stoney
Beiträge: 19
Registriert: Mo 14. Sep 2009, 15:16
OS, Lazarus, FPC: Mac OS (Lazarus 0.9.31, FPC 2.5.1)
CPU-Target: 32Bit & 64Bit
Wohnort: Königsbrunn
Kontaktdaten:

Re: Texturen OpenGL

Beitrag von Stoney »

felix96 hat geschrieben:Hier http://wiki.lazarus.freepascal.org/OpenGL_Tutorial#Textures steht man muss die VamoirImagingLibrary einbinden, aber welche unit muss ich dann einbinden?

Du musst die Unit ImagingOpenGL einbinden.

felix96
Beiträge: 287
Registriert: So 29. Nov 2009, 17:44
CPU-Target: 32BitWin+64bitUbunt

Re: Texturen OpenGL

Beitrag von felix96 »

unit1.pas(8,50) Fatal: Can't find unit imagingopengl used by Unit1
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!

Stoney
Beiträge: 19
Registriert: Mo 14. Sep 2009, 15:16
OS, Lazarus, FPC: Mac OS (Lazarus 0.9.31, FPC 2.5.1)
CPU-Target: 32Bit & 64Bit
Wohnort: Königsbrunn
Kontaktdaten:

Re: Texturen OpenGL

Beitrag von Stoney »

felix96 hat geschrieben:unit1.pas(8,50) Fatal: Can't find unit imagingopengl used by Unit1

Sind die Vampyre Imaging Units auch im Suchverzeichnis korrekt eingetragen?

felix96
Beiträge: 287
Registriert: So 29. Nov 2009, 17:44
CPU-Target: 32BitWin+64bitUbunt

Re: Texturen OpenGL

Beitrag von felix96 »

*Heul*
dzlib.pas(44,89) Fatal: Can't find unit dzlib used by ImagingNetworkGraphics
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: Texturen OpenGL

Beitrag von MAC »

nicht heulen, suchen. Der Bug sagt es doch. konnte die unit "dzlib" ned finden...
also --> google
unit klauen :shock:
und ins gleiche verzeichnis wie das programm legen.

Es geht mit mehrern units:
ImagingNetworkGraphics
imagingopengl
glbitmap

Ich benutze die glbitmap, 1 Zeile geschrieben ist gut. Bei den anderen hab ich keine Ahnung. Für den Anfang würd ich sagen das jede Unit die Anforderungen erfüllt.
glbitmap kann soweit ich weis auch non power of 2 (googlen) texturen laden / skalieren, ob die anderen das können weis ich nicht.

Code: Alles auswählen

Signatur := nil;

Stoney
Beiträge: 19
Registriert: Mo 14. Sep 2009, 15:16
OS, Lazarus, FPC: Mac OS (Lazarus 0.9.31, FPC 2.5.1)
CPU-Target: 32Bit & 64Bit
Wohnort: Königsbrunn
Kontaktdaten:

Re: Texturen OpenGL

Beitrag von Stoney »

felix96 hat geschrieben:dzlib.pas(44,89) Fatal: Can't find unit dzlib used by ImagingNetworkGraphics

Du musst die Unterverzeichnisse von der Vampyre Imaging Library (namentlich /JpegLib und /ZLib) auch zu deinen Suchpfaden hinzufügen.

Hartkern
Beiträge: 69
Registriert: Sa 5. Dez 2015, 20:03
OS, Lazarus, FPC: Win10 IDE 1.6
CPU-Target: 64Bit
Wohnort: Leipzig

Re: Texturen OpenGL

Beitrag von Hartkern »

Servus,

Ich weiß das der Thread recht alt ist, jedoch wollt ich mal fragen ob es einen funktionierenden Workaround gibt, da 7ch mit diversen Loadern dieselben Probleme habe und bisher keine Texturen unter Lazarus in Opengl bekomme

Antworten