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

Aktuelle Zeit: Mo Jul 14, 2025 23:32

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



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Seltsamer Tiefenpuffer
BeitragVerfasst: Fr Jan 25, 2008 13:43 
Offline
DGL Member

Registriert: Mi Aug 09, 2006 15:47
Beiträge: 44
Wohnort: St. Wendel
Programmiersprache: Delphi, C#, Java, C
Hi,

nachdem ich jetzt 2 Wochen nicht mehr dran gearbeitet hatte, habe ich jetzt mal wieder in einen anderen Code von mir geschaut, der vor 2 Wochen noch gut funktionierte. Nur jetzt scheint es irgendwie so, als wäre der Tiefenpuffer etwas unterbeschäftigt (siehe Bild).
Da ich an dem Projekt selbst nichts verändert habe, kann es nur an globalen Units wie meiner Texture-Unit bzw. meiner OpenGL-Init Unit liegen. Die Texturunit kann es allerdings nicht sein, das Problem existiert auch ohne Texturen(siehe anderes Bild).
Hier der Render / Init-Code, bei aus der OpenGL-Init Unit:

Init:
Code:
  1. //Initializing OpenGL
  2.   InitOpenGL;
  3.   //Saving the handle
  4.   FormHandle := Handle;
  5.   FCW := ClientWidth;
  6.   FCH := ClientHeight;
  7.   //Getting DC From Handle
  8.   DC := GetDC(handle);
  9.   //Creating Rendering Context for DC
  10.   RC := CreateRenderingContext(DC, [opDoubleBuffered], 32, 24, 0, 0, 0, 0);
  11.   //Activating this Context
  12.   ActivateRenderingContext(DC,RC);
  13.  
  14.   glENABLE (GL_DEPTH_TEST);
  15.   glDepthFunc (GL_LEQUAL);
  16.   glShadeModel (GL_SMOOTH);
  17.   glHint (GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);


Render:
Code:
  1.  
  2. glMatrixMode(GL_PROJECTION);
  3. glLoadIdentity;
  4. glViewPort(0, 0, FCW, FCH);
  5. gluPerspective(60, FCW/FCH, 0, 128);
  6. glMatrixMode(GL_MODELVIEW);
  7. glLoadIdentity;
  8. glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
  9. //...
  10. SwapBuffers(dc);


Hab auch schon fast alle Variationen der Einstellungen des Tiefenpuffers ausprobiert, ohne Erfolg.

Was läuft hier schief???

Thx, Flips


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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 25, 2008 14:14 
Offline
DGL Member

Registriert: Di Jun 06, 2006 09:59
Beiträge: 474
glDepthMask(true); vergessen?

_________________
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 25, 2008 16:51 
Offline
DGL Member

Registriert: Mi Aug 09, 2006 15:47
Beiträge: 44
Wohnort: St. Wendel
Programmiersprache: Delphi, C#, Java, C
Hatte ich auch schon, kein Effekt feststellbar.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 25, 2008 16:56 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
zNear (die Nahe Clippinglfläche) hast du auf 0 gesetzt, das ist laut Spezifikationen aber nicht erlaubt (siehe Wiki-Eintrag) und kann daher zu solch unvorhersehbaren Ergebnissen führen. Generell sollte man zNear soweit weg wie möglich (min. 1) legen, da man sonst in der Tiefe schnell Auflösungsprobleme (und damit Z-Fighting) bekommt, zFar kann man hingegen relativ groß halten.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 25, 2008 17:00 
Offline
DGL Member

Registriert: Mi Aug 09, 2006 15:47
Beiträge: 44
Wohnort: St. Wendel
Programmiersprache: Delphi, C#, Java, C
Bist ein Held, danke das wars :-D


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 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.009s | 15 Queries | GZIP : On ]