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

Aktuelle Zeit: Mo Jul 14, 2025 19:31

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



Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Sa Mär 08, 2008 02:21 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 09, 2005 13:48
Beiträge: 117
Wohnort: Sankt Augustin
Hallo,

wenn ich Objekte rendere und diese sind in einem kleinen Bereich um den Betrachter herum angeordnet, wird alles korrekt gezeichnet. Ich kann die Szene dann drehen und bewegen wie ich möchte ohne dass es zu sichtbaren Einbußen bei der Darstellung kommt.
Das ganze ändert sich, wenn ich meine Objekte in beliebig großen Abständen um den Betrachter herum aufbaue. Habe ich z.B. ein Rohr aus vielen kleinen Rohrteilen zusammenhängend aufgebaut ist dessen Darstellung eng verknüpft mit seiner Position im Raum zum Betrachter. Je nachdem wie ich dann drehe oder bewege sind nur Teile des Rohres zu sehen (Rohrteile verschwinden) oder es ist nur ein leerer Bildschirm zu bewundern oder ich sehe komplette alles (was dann leider selten der Fall ist).

Kann das etwas mit Berechnungsproblemen in OpenGL zu tun haben oder muss ich mal wieder den Fehler bei mir selber suchen?

Vielen Dank,

Andree


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mär 08, 2008 11:03 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Das dürfte an deiner Far-Clipping-Plane liegen, die du bei gluPerspective festlegst (typischerweise im OnResize).
Alle Objekte, die weiter entfernt sind als diese Ebene werden nicht gezeichnet. Wenn du diese Ebene weiter nach hinten verschiebst, geht aber gleichzeitig genauigkeit im Tiefenpuffer verloren, das heißt, dass Objekte unter umständen in ZFighting geraten oder von Objekten die eigentlich dahinter liegen überzeichnet werden. Sowas passiert aber eher selten und wenn sieht man es in der entsprechenden Entfernung sowieso nicht mehr (immer vorrausgesetzt, du schiebst die Far-Clipping-Plane nicht so weit raus, dass danach sogar die Objekte im Vordergrund schon unter dem Genauigkeitsmangel leiden).
Schau dir dazu auch mal Tiefentest an.

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 10, 2008 09:01 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Um das Problem zu mildern, kannst du in der Entfernung etwas Nebel einbauen. Dadurch sieht man das Popping nicht so stark.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Problem erkann?
BeitragVerfasst: Do Mär 27, 2008 06:07 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 09, 2005 13:48
Beiträge: 117
Wohnort: Sankt Augustin
Hllo,

entschuldigt bitte, dass ich so lange nicht geantwortet habe.

An der Near- und Far-Clipping Plane habe ich schon vermehrt herumgspielt, das bringt aber keine Änderung.
Das Problem tritt dann auf, wenn ich Objekte weit weg vom Nullpunkt aufbaue. Die Objekte sind dann durch die
Darstellung im Clippingbereich aber die größe der Koordinaten (ab ca 100.000) scheint das Problem zu sein.
In diesem Fall flackert das Bild bei Bewegungen. Das bedeutet, dass die Szene mal dargestellt wird und mal nicht.

Ich habe schon alles auf double umgestellt (wo ich float gebraucht habe) aber das hat auch nichts gebracht.

Andree


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 27, 2008 16:18 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Aug 18, 2007 18:47
Beiträge: 694
Wohnort: Köln
Programmiersprache: Java
Wieviel Bit hat dein Z-Buffer?

Hast du mal einen Screenshot zur Hand?

_________________
Es werde Licht.
glEnable(GL_LIGHTING);
Und es ward Licht.


Zitat aus einem Java Buch: "C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off"

on error goto next


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 27, 2008 20:16 
Offline
DGL Member
Benutzeravatar

Registriert: So Jun 04, 2006 12:54
Beiträge: 263
Möglicher weise hilft es die near plane weiter von der Kamera wegzu schieben. Entscvheident für die präzision ist das verhälnis der abstände von near und far plane zur Kamera. Mehr dazu:
http://www.sjbaker.org/steve/omniv/love ... uffer.html

_________________
Lumina plattform unabhängige GLSL IDE


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Hallo
BeitragVerfasst: Mo Mär 31, 2008 12:53 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 09, 2005 13:48
Beiträge: 117
Wohnort: Sankt Augustin
Das mit dem Abstand zwischen Near- und Far-Clipping Plane werde ich ausprobieren. Ich habe bisher immer versucht alles dargestellte auch sichtbar zu machen. Ich werde den sichtbaren Bereich mal auf ein vernünftiges Maß beschränken und dann mal sehen was passiert.

Danke,

Andree


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Danke!
BeitragVerfasst: Di Apr 01, 2008 08:29 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 09, 2005 13:48
Beiträge: 117
Wohnort: Sankt Augustin
Hallo,

das war es. Ich hatte die Near Clipping Plane auf 0,0001 und die Far Clipping Plane so gesetzt, dass immer alles im sichtbaren Bereich war. Nach dem verschieben der Near Clipping Plane klappt jetzt alles.

Danke,

Andree


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 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.008s | 16 Queries | GZIP : On ]