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

Aktuelle Zeit: So Sep 07, 2025 16:15

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



Ein neues Thema erstellen Auf das Thema antworten  [ 32 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3  Nächste
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 10, 2003 16:14 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jan 03, 2003 14:15
Beiträge: 36
Salute,

habe mal Folgendes gemacht:

LoadTEXTURE('granit.bmp',tex,logo);
glBindTexture(GL_TEXTURE_2D,tex);

Logo steht auf true nach dem Aufruf und text hat den Wert 0 ...
TEX ist ne globale Variable.

Es funzt immer noch nicht.....


Gruss


Markus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 10, 2003 16:17 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Mach's mal so:

Code:
  1. LoadTEXTURE('granit.bmp',tex,false);
  2.  
  3. glBindTexture(GL_TEXTURE_2D,tex);


Denn deine Textur ist in einer Datei, nicht in einer Resource.. :)

Ausserdem mußt du einen kompletten Pfad angeben.. also "Granit.bmp" reicht nicht... z.B. "C:ProgrammeBorlandDelphiProjectsOpenGLTexGranit.bmp" :)

Au'revoir,
Aya~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 10, 2003 16:31 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jan 03, 2003 14:15
Beiträge: 36
SALUTE und DANKE


es funzt immer noch nicht......



Gruss


Markus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 10, 2003 16:42 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Ist Tex immernoch 0??


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jan 11, 2003 12:43 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jan 03, 2003 14:15
Beiträge: 36
Hallo Aya,

nö, TEX ist nicht mehr 0, aber es funzt trotzdem nicht.

Ich habe jetzt mal folgendes gemacht - auch ohne Erfolg, aber leichter zu überschauen:

Code:
  1.  
  2.  
  3.      glGenTextures(1,tex);
  4.  
  5.      LoadTEXTURE('c:/energy.bmp',tex,false);
  6.  
  7.      glBindTexture(GL_TEXTURE_2D,tex);
  8.  
  9.      glPointSize(lwd[1]);
  10.  
  11.      glColor3f(1,0,0);
  12.  
  13.      glEnable(GL_TEXTURE_2D);
  14.  
  15.      glBindTexture(GL_TEXTURE_2D,tex);
  16.  
  17.      glBegin(GL_POINTS);
  18.  
  19.      glvertex3f(PX[BLI[lauf3],BLMPI[lauf3]],PY[BLI[lauf3],BLMPI[lauf3]]
  20.  
  21.                         ,PZ[BLI[lauf3],BLMPI[lauf3]]);
  22.  
  23.       gltexcoord2f(1,1);
  24.  
  25.       glend;
  26.  
  27.       glDisable(GL_TEXTURE_2D);
  28.  
  29.  



Salut

Markus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jan 11, 2003 12:52 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Also obigen Quelltext würde ich mal ganz schnell verwerfen, bevor dich noch einer der OpenGL-Entwickler bei lebendigem Leib auffrist :twisted:

So wie ich die Sache sehe, willst du dort einen Punkt texturieren, was rein prinzipiell nicht geht (GL_POINTS lassen sich nur über eine spezielle nVidia-Erweiterung für GeForce3/4-Karten als Billboards texturieren).

Aber zu deinem Problem :
Hast du deinen Rendercontext schon erstellt und aktivierst du ihn auch bevor du die Textur laden tust???Wenn nicht, dann kann das ganze auch net klappen.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jan 11, 2003 13:09 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jan 03, 2003 14:15
Beiträge: 36
Hallo SOS,


ähem....was meinst Du damit ???? Ich habe das TUT gelesen und halte mich halt daran. Dort habe ich noch mit der GLAUX gearbeitet, aber AYA meinte ich sollte es mal mit der TEXTURES.PAS von Horn probieren. Beim initialisieren der Scene habe ich mich auch ans TUT gehalten. Das Drehen funzt recht gut. Ansonsten habe ich den ganzen Code schon hier gepostet.

Gut, das mit den Punkten wußte ich noch nicht. Ich habe es nur deshalb gemacht weil ich dachte, zum Probieren ist es besser und schneller. Ich wurde aber schon stutzig, weil im TUT was von Flächenangaben (0,0),(1,0),... steht und ich die ja hier nicht habe. :oops:

Gruss und DANKE

Markus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jan 11, 2003 13:18 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Zitat:
ähem....was meinst Du damit ???? Ich habe das TUT gelesen und halte mich halt daran. Dort habe ich noch mit der GLAUX gearbeitet, aber AYA meinte ich sollte es mal mit der TEXTURES.PAS von Horn probieren. Beim initialisieren der Scene habe ich mich auch ans TUT gehalten. Das Drehen funzt recht gut. Ansonsten habe ich den ganzen Code schon hier gepostet.


Mit Initialisierung meine ich die Erstellung deines Renderkontextes auf der Basis eines gültigen Gerätekontextes.

Hast du deinen Renderkontext erstellt, dann hast du OpenGl quasi "initialisiert" und musst nur noch deinen Kontext aktivieren (mittels wglMakeCurrent(DC, RC)).
Danach kannst du OpenGL erst "nutzen" und bestimmte Eigenschaften setzen/aktivieren, oder eben deine Textur laden.

Wenn dein Kontext jedoch nicht (oder in-)aktiv ist, dann lädt er die Textur zwar von der Festplatte in den Speicher, aber ein Erstellen in der Textur im Grafikkartenspeicher schlägt dann fehl!

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jan 11, 2003 13:56 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jan 03, 2003 14:15
Beiträge: 36
Hallo SOS,

bin wieder hier, hatte Probleme mit meiner OnLine Verbindung.

Das ist eigentlich meine Standardinitialisierung weil ich dachte, ohne das geht gar nix.

Gruss

Markus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jan 11, 2003 14:01 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jan 03, 2003 14:15
Beiträge: 36
Hallo SOS,

noch was.... dann würde ja auch das Setzen von Lichtern nicht funzen oder ?


Gruss

Markus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 10, 2003 12:31 
Hi,

ich hab das gleiche Problem... Hab das Tutorial durchgearbeitet, aber das mit der Textur will nicht so wie ich will... Ich kreig sie einfach nicht auf das Quadrat... :(

Hab tex als Globalen PGLuint deklariert. Krieg dann aber Probleme, weil GLBindTextures zwei Cardinals erwartet...


Nach oben
  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 10, 2003 12:46 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3830
Wohnort: Tespe (nahe Hamburg)
Textur-Tutorials unbedingt lesen!

Code:
  1. glBindTexture(GL_TEXTURE_2D,texid);

_________________
"Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 10, 2003 13:26 
Na was glaubst du wie ich das schon rauf und runter gelesen hab! ;-)
(Lektion 4 - gibt's noch ein anderes?)

Hab mir jetzt sicherheitshalber auch noch die Beispiele runtergeladen.
Da hab ich gesehen dass ihr tex als GLUint deklariert habt, und dann glGenTextures(1, @tex); schreibt.
da's den Typ Variable bei mir gar nicht gibt - bloß PGLuint oder TGLuint - hab ich das mal auf TGLuint geändert. Dann bin ich über LoadOpenGL in FormCreate bzw. ShutdownGL in FormDestroy gestolpert...
Geh ich richtig in der Annahme dass ich die beiden Funktionen noch schreiben muss? Werd ich mich mal dranmachen. Trotzdem glaub ich nicht dass es funktioniert...
Ich hab das schon mal mit TGLuint und dann @tex gemacht. Dann bleibt aber immer noch das Problem, dass GlBindTexture als zweiten Parameter nen Cardinal und keinen TGLuint haben will... :-(


Nach oben
  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 10, 2003 14:02 
Hey, das API-Beispiel funktioniert!

Aber das läuft auch über die OpenGl.pas
In der OpenGL12.pas sind wohl ein paar Sachen anderst...

ein GLuint in der OpenGL.pas ist ein Cardinal, drum gibt's keine Probleme mit glGenTextures.

ein TGLuint in der OpenGL12.pas ist ein UINT... Und was ist ein UINT?!

AHA! In der Windows.pas ist ein UINT als LongWord festgelegt! Ein ULONG würde einem Cardinal entsprechen...

Also ist das jetzt ein Fehler in der OpenGL12 oder hat das seinen Sinn? Hab irgendwie Hemmungen das einfach so zu ändern...


Nach oben
  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 10, 2003 15:37 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3830
Wohnort: Tespe (nahe Hamburg)
Um das ganze ganz kurz und schmerzlos zu machen. Ja in den OpenGL12 Header sind einige Sachen anders, speziell auch die Übergabe der Parameter (Var und Pointer). Was die Bezeichnungen angeht, weiß ich nicht was Lischke dazu trieb sie nach Pascal-Standard zu benennen... gibt ne einfaches Workaround.

Type gluint = TGluint;
etc.

und schon funktioniert es auch alles wieder wie unter der OpenGL1.0 ohne das man alles umändern muss. Wer sich auskennt, kann dies auch einfach in die Header schreiben und ist diese Sorge los ;)

_________________
"Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 20 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:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.010s | 14 Queries | GZIP : On ]