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

Aktuelle Zeit: Fr Jul 18, 2025 15:13

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



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Sa Jan 30, 2010 18:26 
Offline
DGL Member

Registriert: Do Mär 05, 2009 20:17
Beiträge: 284
Wohnort: Kaiserslautern
Hi, ich bins mal wieder :)

nachdem ich die 2mannigfaltigkeit im griff habe (Danke auch nochmal an Coolcat), kann ich quasi als Abfallproduct davon den Winkel überprüfen der zwischen zwei Nachbarflächen ist und bei großen Winkeln wollte ich dann die Kanten zeigen...

all das habe ich hinbekommen aber beim Rendern sieht es nicht so schön aus, wie ich gehofft hatte.
Was mich stört ist, dass die Liniendicke sich mit dem Blickwinkel ändert... hier mal zwei screenshots von einem Testbauteil damit ihr seht was ich meine:

Bild
Bild

zur zeit rendere ich das noch ein wenig umständlich (das verbesser ich noch):
Code:
  1.  begin
  2.  
  3.       if scharfekantenzeigen then  begin
  4.       z:=0;
  5.       gllinewidth(2);
  6.       for i := 0 to length(sharpedgelist) - 2 do begin
  7.      glBegin(GL_lines);
  8.      glcolor3f(0,0,0);
  9.      glVertex3f(sharpedgelist[z].KX, sharpedgelist[z].KY, sharpedgelist[z].KZ);
  10.      glVertex3f(sharpedgelist[z+1].KX, sharpedgelist[z+1].KY,sharpedgelist[z+1].KZ);
  11.      z:=z+2;
  12.      glEnd;
  13.       end;


kann ich mit gl_lines noch irgendwas anstellen damit das nicht so ist? (außer ausschalten meine ich)

gruß

Wölfchen


Zuletzt geändert von Frase am Sa Jan 30, 2010 20:11, insgesamt 1-mal geändert.
[Gelöst] hinzugefügt :)


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa Jan 30, 2010 19:18 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Möglicherweise werden da einige Pixel der Linien vom Z-Buffer geschluckt. Versuche mal direkt vor dem Rendern der Geometrie das hier einzubauen:
Code:
  1. glDepthRange(0.01, 1.0);


Natürlich nach dem Rendern der Geometrie, also bevor du die Linien renderst das ganze wieder zurück zu setzen:
Code:
  1. glDepthRange(0.0, 1.0);


glDepthRange verzieht die Z-Achse ein kleines bisschen, so das die Dreiecke ein kleines bisschen weiter weg vom Betrachter sind als die Linien. Dadurch werden die Linien gezeichnet, trotzdem sind Linien z.B. auf der Rückseite nicht sichtbar. Ggf. musst du auch ein wenig mit den Werten spielen.

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa Jan 30, 2010 19:26 
Offline
DGL Member

Registriert: Do Mär 05, 2009 20:17
Beiträge: 284
Wohnort: Kaiserslautern
perfekt! sieht gut aus!
danke!


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


Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 9 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.008s | 18 Queries | GZIP : On ]