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

Aktuelle Zeit: So Jul 20, 2025 16:35

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 13 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Fr Apr 04, 2003 22:35 
Offline
DGL Member

Registriert: Sa Sep 21, 2002 21:32
Beiträge: 346
Wohnort: Eilsum (Nahe Emden)
Hi Leute!
Ich habe ne Frage:
Ist es möglich mit den normalen mitgeliferten Mitteln (oder durch leichte Änderungen) Multitexturing zu nutzen?
Ich habe nämlich ersten null Erfahrung mit der opengl12.pas (Mein einziger Versuch endete in einem CPU-fenster..... :blink: ) und zweitens ist das Projekt schon extrem weit vorangeschritten (habe micht erst recht spät entschieden, Multitexturing zu nutzen...)
Geht das irgendwie?

Oder gibt es ne sehr einfache Methode um auf die opengl12.pas umzusteigen?
Was muss ich da beachten bzw. was muss ich da genau ändern?

_________________
Es sind immer die guten,
welche zu früh von uns gehen müssen...

Meine bislang 13 Open Gl - Tuts findet ihr auf www.dcw-group.net
Neu! Ein großer Teil der Demos nach Kylix übersetzt!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Apr 05, 2003 00:03 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3830
Wohnort: Tespe (nahe Hamburg)
Eigentlich sollte der Einstieg recht simple sein, wenn man weiß, wie Suchpfade bei Delphi funktionieren und folgenden Thread beachtet <a href='http://www.phobeus.de/hosting/dgl/forum/index.php?act=ST&f=9&t=336' target='_blank'>opengl12 faq</a>. Ansonsten sehe ich spontan nur ne paar falsche Pointer, sollte nicht das Ding sein ;)

_________________
"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: Sa Apr 05, 2003 08:00 
Offline
DGL Member

Registriert: Sa Sep 21, 2002 21:32
Beiträge: 346
Wohnort: Eilsum (Nahe Emden)
Ah, Danke :D
Ich habe den Init-Befehl damals zwar ausgeführt, baer an der falschen Stelle :blink: :wacko:
Naja: nun gehts! danke ;-)

_________________
Es sind immer die guten,
welche zu früh von uns gehen müssen...

Meine bislang 13 Open Gl - Tuts findet ihr auf www.dcw-group.net
Neu! Ein großer Teil der Demos nach Kylix übersetzt!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Apr 05, 2003 09:45 
Offline
DGL Member

Registriert: Sa Sep 21, 2002 21:32
Beiträge: 346
Wohnort: Eilsum (Nahe Emden)
Hmm .. irgendwie komme ich mit dem Multitexturing nun aber nicht so recht klar.... könnt ihr mir verraten, wieso mein Programm in dieser Procedure abschmiert? (CPU-Fenster):

Code:
  1.  
  2. procedure paintmap;
  3. var
  4. x,y : integer;
  5. begin
  6. glpushmatrix;
  7. glActiveTextureARB(GL_TEXTURE0_ARB);
  8. glEnable(GL_TEXTURE_2D);
  9. glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
  10. glBindTexture(GL_TEXTURE_2D, maptex);
  11.  
  12. glActiveTextureARB(GL_TEXTURE1_ARB);
  13. glEnable(GL_TEXTURE_2D);
  14. glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
  15. glEnable(gl_BLEND);
  16. glblendfunc(gl_dst_color,gl_dst_color);
  17. glBindTexture(GL_TEXTURE_2D, detail);
  18.  
  19. glbegin(gl_quads);
  20. for x := 0 to 63 do
  21. begin
  22.  for y := 0 to 63 do
  23.  begin
  24.  
  25.  if not (openpoints[x,y]=clblue) then
  26.  begin
  27.  
  28.  glMultiTexCoord2fARB(GL_TEXTURE0_ARB,x/64,(63-y)/64);
  29.  glMultiTexCoord2fARB(GL_TEXTURE1_ARB,0,0);
  30.  glvertex3f(x*4, mappoints[x,y+1],(y-62)*4);
  31.  
  32.  
  33.  glMultiTexCoord2fARB(GL_TEXTURE0_ARB,(x+1)/64,(63-y)/64);
  34.  glMultiTexCoord2fARB(GL_TEXTURE1_ARB,1,0);
  35.  glvertex3f(x*4+4, mappoints[x+1,y+1], (y-62)*4);
  36.  
  37.  glMultiTexCoord2fARB(GL_TEXTURE0_ARB,(x+1)/64,(64-y)/64);
  38.  glMultiTexCoord2fARB(GL_TEXTURE1_ARB,1,1);
  39.  glvertex3f(x*4+4, mappoints[x+1,y],(y-62)*4-4);
  40.  
  41.  glMultiTexCoord2fARB(GL_TEXTURE0_ARB,x/64,(64-y)/64);
  42.  glMultiTexCoord2fARB(GL_TEXTURE1_ARB,0,1);
  43.  glvertex3f(x*4, mappoints[x,y],(y-62)*4-4);
  44.  end;
  45.  
  46.  end;
  47. end;
  48.  glend;
  49. glpopmatrix;
  50.  
  51. end;
  52.  


Der Abschmierer kommt an dieser Stelle: "glActiveTextureARB(GL_TEXTURE0_ARB);" , dabei unterstützt meine Graka eigendlich Multitexturing. Ich habe zumindest dieses mit

Code:
  1.  
  2. glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, @TMUs);
  3. if TMUs < 2 then
  4. begin
  5. ShowMessage('Die Grafikkarte unterstützt kein Multitexturing!');
  6. Close;
  7.  


geprüft...
Oder habe ich irgendwas wichtiges vergessen bzw verdreht?

_________________
Es sind immer die guten,
welche zu früh von uns gehen müssen...

Meine bislang 13 Open Gl - Tuts findet ihr auf www.dcw-group.net
Neu! Ein großer Teil der Demos nach Kylix übersetzt!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Apr 05, 2003 09:47 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Nov 02, 2002 18:06
Beiträge: 299
Wohnort: Dresden
Ein Tut zu Multitexturing gibts auf delphigl.de

_________________
"Ich würde ja gern die Welt verändern, aber Gott gibt mir den Quelltext nicht"


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Apr 05, 2003 09:52 
Offline
DGL Member

Registriert: Sa Sep 21, 2002 21:32
Beiträge: 346
Wohnort: Eilsum (Nahe Emden)
Das habe ich auch schon gelesen ... das auf der DGL-Site auch... aber irgendwie finde ich den Fehler hier dennoch nicht...

_________________
Es sind immer die guten,
welche zu früh von uns gehen müssen...

Meine bislang 13 Open Gl - Tuts findet ihr auf www.dcw-group.net
Neu! Ein großer Teil der Demos nach Kylix übersetzt!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Apr 05, 2003 13:56 
Offline
DGL Member

Registriert: Sa Sep 21, 2002 21:32
Beiträge: 346
Wohnort: Eilsum (Nahe Emden)
Hat denn keiner ne Idee, was da faul sein könnte? Ich weiß echt nicht mehr, woran das liegen könnte..... :(

_________________
Es sind immer die guten,
welche zu früh von uns gehen müssen...

Meine bislang 13 Open Gl - Tuts findet ihr auf www.dcw-group.net
Neu! Ein großer Teil der Demos nach Kylix übersetzt!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Apr 05, 2003 13:57 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
DCW_Mr_T hat geschrieben:
Hat denn keiner ne Idee, was da faul sein könnte? Ich weiß echt nicht mehr, woran das liegen könnte..... :(

Poste mal dein komplettes Programm, dann werd ich mir die Sache mal ansehen...

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Apr 05, 2003 14:12 
Offline
DGL Member

Registriert: Sa Sep 21, 2002 21:32
Beiträge: 346
Wohnort: Eilsum (Nahe Emden)
In diesem Archiev sind die (Delphi 5) Sources...
<a href='http://www.dcw-group.net/private/Test.ace' target='_blank'>http://www.dcw-group.net/private/Test.ace</a>
(habe das Programm stark gekürtzt, weil es sonst zu groß geworden wäre....) :rolleyes:

_________________
Es sind immer die guten,
welche zu früh von uns gehen müssen...

Meine bislang 13 Open Gl - Tuts findet ihr auf www.dcw-group.net
Neu! Ein großer Teil der Demos nach Kylix übersetzt!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Apr 05, 2003 18:51 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
ich hatte gestern auch ein problem mit multitexturing, hab mich damit aber nicht weiter befasst, da es sich um ein altes projekt handelte:
Code:
  1.  
  2. glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, @TMUs);
  3.  

in TMUs fand sich danach der Wert 59... Meine GF2MX hat allerdings nur 2. Ein bischen spielen mit den Grafikeinstellungen half das Problem zu lösen - und zwar von 16 auf 32 Bit Desktopfarbtiefe. Das Half - Warum kann ich allerdings nicht sagen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Apr 05, 2003 18:54 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
So, hab mir grad mal den Source angesehen (hatte vorher leider keine Zeit), und habs mit Multitexturing zum laufen gebracht.Dazu musst du dir zum einen diese
<a href='http://www.delphigl.de/misc/OpenGl12.zip' target='_blank'>OpenGL12.pas</a> ziehen (mit deiner gings eigenartiger Weise nicht), und dann noch folgendes im Quellcode ändern :

Bei der Initialisiering (TForm1.FormCreate) :
Code:
  1. myRC := CreateRenderingContext(myDC, [opDoubleBuffered], 32, 0, 0, 0, 0, 0, myPalette);

Nicht vergessen die alte Erstellung des RCs zu löschen!
und statt wglMakeCurrent() folgendes :
Code:
  1. ActivateRenderingContext(myDC, myRC);


Danach hats bei mir auf Anhieb gefunzt!

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Apr 05, 2003 18:57 
Offline
DGL Member

Registriert: Sa Sep 21, 2002 21:32
Beiträge: 346
Wohnort: Eilsum (Nahe Emden)
Hmm ... leider liegt es daran nicht :-(
Bei mir ist dieser wert auf jeden Falle korrect (gibt den Wert "2" aus... [TNT2 M64], was also richtig ist)
Hat sich ansonsten schonmal wer mein Programm gesaugt (zusätzlich wird "glaux" benötigt) und sich das angesehen?

_________________
Es sind immer die guten,
welche zu früh von uns gehen müssen...

Meine bislang 13 Open Gl - Tuts findet ihr auf www.dcw-group.net
Neu! Ein großer Teil der Demos nach Kylix übersetzt!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Apr 06, 2003 08:51 
Offline
DGL Member

Registriert: Sa Sep 21, 2002 21:32
Beiträge: 346
Wohnort: Eilsum (Nahe Emden)
Vielen Dank!
Nun funzt es genau so, wie es soll *froi*
Auf euch ist echt verlass :-)
Danke!

_________________
Es sind immer die guten,
welche zu früh von uns gehen müssen...

Meine bislang 13 Open Gl - Tuts findet ihr auf www.dcw-group.net
Neu! Ein großer Teil der Demos nach Kylix übersetzt!


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 13 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

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