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

Aktuelle Zeit: Fr Jul 18, 2025 08:44

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



Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Sa Jun 25, 2005 13:58 
Offline
DGL Member

Registriert: Do Apr 08, 2004 16:55
Beiträge: 516
Also erstmal abgesehen das die Demo nicht Funktioniert da anscheinend die Farben nicht Richtig sind( 3D Brille gekauft, sehe aber trotzdem BEIDE Teile mit der Brille ), kommt es mir so vor als das die neuste Version der dglOpenGL Unit nicht richtig Funktioniert, den er zeigt mir Double Buffered nicht richtig an( Ich kann natürlich auch was falsch machen ). Also hier mal der Quellcode, den habe ich direkt aus der Template genommen.

Code:
  1. procedure TWinForm1.Render;
  2. begin
  3.  glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
  4.  glPushMatrix;
  5.  glRotatef((Environment.TickCount-start)/10,0,1,0);
  6.  glBegin(GL_TRIANGLE_STRIP);
  7.  glTexCoord2f(0,1);
  8.  glVertex3f(-1,-0.5,0);
  9.   glTexCoord2f(1,1);
  10.  glVertex3f(1,-0.5,0);
  11.   glTexCoord2f(0,0);
  12.  glVertex3f(-1,0.5,0);
  13.   glTexCoord2f(1,0);
  14.  glVertex3f(1,0.5,0);
  15.  glEnd;
  16.  
  17.  glBegin(GL_TRIANGLE_STRIP);
  18.  glTexCoord2f(0,1);
  19.  glVertex3f(-1,-0.5,-1);
  20.   glTexCoord2f(1,1);
  21.  glVertex3f(1,-0.5,-1);
  22.   glTexCoord2f(0,0);
  23.  glVertex3f(-1,0.5,-1);
  24.   glTexCoord2f(1,0);
  25.  glVertex3f(1,0.5,-1);
  26.  glEnd;
  27.  glPopMatrix;
  28.  SwapBuffers(dc);
  29.  glDrawBuffer(GL_BACK_LEFT);
  30.  glDrawBuffer(GL_BACK_RIGHT);
  31. end;
  32.  
  33. procedure TWinForm1.TWinForm1_Load(sender: System.Object; e: System.EventArgs);
  34. begin
  35.  dc:=GetDC(Integer(Handle));
  36.  rc:=CreateRenderingContext(dc,[opStereo],32,24,8,0,0,0);
  37.  ActivateRenderingContext(dc,rc,false);
  38.  glDisable(GL_CULL_FACE);
  39.  glGenTexture('dgl.gif');
  40.  start:=Environment.TickCount;
  41.  
  42.  if (rc=0) then exit;
  43.  glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
  44.  glViewport(0,0,ClientSize.Width,ClientSize.Height);
  45.  glMatrixMode(GL_PROJECTION);
  46.  glLoadIdentity;
  47.  gluPerspective(90,ClientSize.Width/ClientSize.Height,1,100);
  48.  glMatrixMode(GL_MODELVIEW);
  49.  glLoadIdentity;
  50.  glTranslatef(0,0,-2);
  51. end;
  52.  


mfg

Speedmaster

P.s.: Das war nur ein kleiner Test also nix besonderes!

_________________
Shareholder und Leitender Entwickler bei Pipedream-Games.

Zitat: Siehst du diesen Park da unten? Jeden Tag lernen sich darin Menschen kennen und verlassen einander. Und du hast dein ganzes Leben Zeit darin zu gehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jun 25, 2005 22:13 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
hm, wenn ich mich recht entsinne konnte man bei der demo die farbausgabe an die jeweilige brille mehr oder weniger einfach anpassen - ini file, parameter, oder so. mit sicherheit gehts direkt im code. wichtig ist aber, dass es nicht irgendeine 3D Brille ist, sondern wie im Text eine für Anaglyphen. Also eine mit richtig kräftigen unterschiedlichen Farben, wie man sie auch häufiger in IMax Filmen auf die Nase bekommt. Die Teile für Sportübertragungen im Fernsehen die Farbkorrigierte dunkel/hell Gläser sind, taugen nicht. Diese z.B.: http://www.3d-photoshop.de/pd-184421913 ... tegoryId=8 ist eine passende.

Solltest du trotz einer solchen oder ähnlichen Brille(Farben) nichts sehen, musst du es eventuell ein bischen üben. Versuche auch den Abstand zum Monitor zu vergrössern und die Einstellung für den Augenabstand zu verkleinern. Wenn auch das nach längerer Zeit nicht geht, kannst du vielleicht prinzipiell nicht 3D sehen - das kann aber nur der Augenarzt wirklich diagnostizieren und evtl. sogar Abhilfe schaffen(hier gilt dann je früher desto besser). Aber dann nicht erschrecken, wenn die welt plötzlich anders aussieht ;-)

Für mehr hab ich aber grad keine Zeit zum schreiben... Muss jetzt noch weg.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jun 26, 2005 10:41 
Offline
DGL Member

Registriert: Do Apr 08, 2004 16:55
Beiträge: 516
War schon im I-Max kann es also Theoretisch, wie gesagt was mir halt aufgefallen ist ist aber das bei opStereo die Farbunterschiede nicht da sind, und die Anzeige Fehlerhaft wirkt!

_________________
Shareholder und Leitender Entwickler bei Pipedream-Games.

Zitat: Siehst du diesen Park da unten? Jeden Tag lernen sich darin Menschen kennen und verlassen einander. Und du hast dein ganzes Leben Zeit darin zu gehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jun 26, 2005 16:39 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
hm, kann daran liegen, dass ich damals pbuffer verwendet habe... das war eigentlich damals mehr durch einen kleinen denkfehler meinerseits entstanden. eventuell hilft, die demo ein wenig umzuschreiben. Kann das momentan aber nicht, bin ein biserl eingedeckt. Aber im Prinzip musst du einfach den Perspektivwechesel aus dem resize rausholen und in den Rendercode für jedes Auge integrieren. Vor dem zeichnen des zweiten Auge den Tiefenpuffer leeren, ... das sollte zuverlässiger funktionieren.


Zuletzt geändert von Delphic am Mo Jul 13, 2009 18:55, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jun 27, 2005 11:30 
Offline
DGL Member

Registriert: Do Apr 08, 2004 16:55
Beiträge: 516
Zitat:
hm, kann daran liegen, dass ich damals pbuffer verwendet habe... das war eigentlich damals mehr durch einen kleinen denkfehler meinerseits entstanden. eventuell hilft, die demo ein wenig umzuschreiben. Kann das momentan aber nicht, bin ein biserl eingedeckt. Aber im Prinzip musst du einfach den Perspektivwechesel aus dem resize rausholen und in den Rendercode für jedes Auge integrieren. Vor dem zeichnen des zweiten Auge den Tiefenpuffer leeren, ... das sollte zuverlässiger funktionieren.


Deine Demo funktioniert einwandfrei, das Problem liegt am dglOpenGL Header IMHO, den wie oben zu sehen ist versuche ich 2 Flächen, die Hintereinander sind darzustellen, dies führt aber zu einer äußerst komischen Ausgabe.

Habe es als Datei angehängt!


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

_________________
Shareholder und Leitender Entwickler bei Pipedream-Games.

Zitat: Siehst du diesen Park da unten? Jeden Tag lernen sich darin Menschen kennen und verlassen einander. Und du hast dein ganzes Leben Zeit darin zu gehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jun 27, 2005 15:57 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Gib mal den Quelltext mit an. Bei mir funktioniert es mit dem Header ohne Probleme. Dein Beispielprogramm zeigt allerdings nach dem ersten Frame nichts mehr an.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jun 27, 2005 16:11 
Offline
DGL Member

Registriert: Do Apr 08, 2004 16:55
Beiträge: 516
LarsMiddendorf hat geschrieben:
Gib mal den Quelltext mit an. Bei mir funktioniert es mit dem Header ohne Probleme. Dein Beispielprogramm zeigt allerdings nach dem ersten Frame nichts mehr an.


Quelltext ist oben, einfach einfügen dann sollte es Funktionieren, mehr Quelltext ist es nicht, ausser das halt noch Render im Timer steht, warum es bei dir nicht funktioniert verstehe ich nicht, den bei mir Zeigt er es an!

Ich warte auf nochn paar Beiträge dann mache ich mir die Mühe das notfalls hochzuladen! :D

_________________
Shareholder und Leitender Entwickler bei Pipedream-Games.

Zitat: Siehst du diesen Park da unten? Jeden Tag lernen sich darin Menschen kennen und verlassen einander. Und du hast dein ganzes Leben Zeit darin zu gehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jun 27, 2005 16:46 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Denke mal du hast glEnable(GL_DEPTH_TEST) und glDepthMask(true) nicht drin um den Depth Buffer überhaupt einzuschalten. Das muß noch vor das erste glClear.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jun 27, 2005 16:54 
Offline
DGL Member

Registriert: Do Apr 08, 2004 16:55
Beiträge: 516
Ok jetzt ist der überlagerungseffekt weg, aber was nicht da ist ist:

Die Farblichen unterschiede.

Was falsch ist: Die vordere Fläche wird geschnitten, und die Hintere bleibt ganz, ich verstehe es nicht ganz wie dieser Effekt zustande kommen kann!

_________________
Shareholder und Leitender Entwickler bei Pipedream-Games.

Zitat: Siehst du diesen Park da unten? Jeden Tag lernen sich darin Menschen kennen und verlassen einander. Und du hast dein ganzes Leben Zeit darin zu gehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jul 01, 2005 12:35 
Offline
DGL Member

Registriert: Do Apr 08, 2004 16:55
Beiträge: 516
Also, heute kam meine 3D Brille an, eine Anaglyphen Rot-Grün und eine Anaglyphen Rot-Cyan. Das Problem ist: Ich sehe mit beiden Brillen, immer 2 Ringe mit einem Auge, was ja eigentlich nicht sein dürfte, beim Testen von Bildern im Internet die Rot-Cyan sind funktionierte es allerdings einwandfrei.

Irgendeine idee, was man dort am besten machen kann, oder kann es mit dem Bildschirm zusammenhängen?

_________________
Shareholder und Leitender Entwickler bei Pipedream-Games.

Zitat: Siehst du diesen Park da unten? Jeden Tag lernen sich darin Menschen kennen und verlassen einander. Und du hast dein ganzes Leben Zeit darin zu gehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jul 01, 2005 13:50 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
mach die option für den augenabstand kleiner (in meiner demo ging das per tastendruck), so daß die hälften nicht so weit auseinanderliegen. dann sollte dein hirn sich um den rest kümmern ;-)

[edit:]
Lustig sind auch die Nasa 3D-Bildchen vom Mars. Und zum probieren mit selbiger Methode noch eines meiner Bildchen - vielleicht gehts damit ja besser. Ist zwar kein uafregendes Bild, aber zum probieren:
download.php?id=898


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


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


Wer ist online?

Mitglieder in diesem Forum: Bing [Bot], Google [Bot] und 16 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.009s | 16 Queries | GZIP : On ]