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

Aktuelle Zeit: Mo Jul 14, 2025 23:26

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



Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Linienstärke setzen?
BeitragVerfasst: Mo Aug 29, 2005 06:17 
Offline
DGL Member

Registriert: Fr Apr 15, 2005 10:30
Beiträge: 28
Moin !

Kann mir jemand sagen, wie ich in diesem Stück Code:

Code:
  1.   glBegin(GL_LINE_STRIP);
  2.   for _i := 0 to length(x) - 1 do begin
  3.     if length(x) = 0 then break;
  4.  
  5.     glPushMatrix;
  6.  
  7.       //glColor3b(Round(y[_i] * 40)+ 40,Round(y[_i] * 80) + 50,0);
  8.       glcolor3b(127 - (speed[_i]-127) ,speed[_i]-127,speed[_i]-127);
  9.       glVertex3f(x[_i], y[_i], z[_i]);
  10.  
  11.     glPopMatrix;
  12.   end;
  13.   glEnd();


die Linienstärke setzen kann?

Ich habe es schon über glcolor3b mit glLineWidth versucht, aber da passiert nix.

_________________
Greetz Moelski


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 29, 2005 08:38 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2068
Programmiersprache: C++
Wiki zu GLLineWidth
Einfach bei Fehlermeldung schauen.
Du darfst die Funktion nicht zwischen glBegin und glEnd stellen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 29, 2005 11:17 
Offline
DGL Member

Registriert: Fr Apr 15, 2005 10:30
Beiträge: 28
Moin !

Zitat:
Du darfst die Funktion nicht zwischen glBegin und glEnd stellen.

Stimmt, so geht es. Aber ...

Ich würde die Liniendicke gerne dynamisch verändern. Ich ändere hier ja auch dynamisch die Farbe:
Code:
  1. glcolor3b(127 - (speed[_i]-127) ,speed[_i]-127,speed[_i]-127);


Geht das nicht auch so ähnlich mit der Linienstärke?

_________________
Greetz Moelski


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 29, 2005 13:30 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 21, 2003 17:36
Beiträge: 141
Klar. Brauchst ja nur nen glFloat dazu als Variable, und dann glLineWidth(Width);


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 29, 2005 13:31 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 21, 2003 17:36
Beiträge: 141
Klar. Brauchst ja nur nen glFloat dazu als Variable, und dann glLineWidth(Width);


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 29, 2005 13:51 
Offline
DGL Member

Registriert: Fr Apr 15, 2005 10:30
Beiträge: 28
Moin !

Also irgendwie wird es für mich nicht durchsichtiger ...
Zitat:
glLineWidth(Width);

Wie soll das denn nun gehen, wenn ich es nicht zwischen glBegin(GL_LINE_STRIP); ... glEnd; setzen darf?!

Könntest du das mal in meinen Code packen wie du meinst das es gehen sollte? :roll:

_________________
Greetz Moelski


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 29, 2005 13:52 
Offline
DGL Member

Registriert: Fr Apr 15, 2005 10:30
Beiträge: 28
Sorry DP :?

_________________
Greetz Moelski


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 29, 2005 15:11 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 21, 2003 17:36
Beiträge: 141
Also wenn du das so meinst... dass bei Vertex1 Linienstärke a sein soll, bei Vertex2 aber Linienstärke b, geht das AFAIK nicht. Du kannst glLineWidth nur außerhalb von glBegin..glEnd Blöcken benutzen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 29, 2005 15:12 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 21, 2003 17:36
Beiträge: 141
Also irgendwas scheint mit der Forensoftware nicht zu stimmen... Wenn ich den Beitrag abschicke, werde ich auf keine Seite weitergeleitet, Firefox meldet nur "fertig". Wenn ich dann nachgucke, ob der Beitrag schon da ist, dann seh ich keinen. Es geht nur, wenn ich erneut auf absenden drücke, und dann gibts nen Doppelpost . :?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 29, 2005 15:23 
Offline
DGL Member

Registriert: Fr Apr 15, 2005 10:30
Beiträge: 28
Moin !

Zitat:
Also wenn du das so meinst... dass bei Vertex1 Linienstärke a sein soll, bei Vertex2 aber Linienstärke b,

Ja so war das gemeint.

Zitat:
geht das AFAIK nicht

Misst. Wie kann ich das dann hinbekommen? Also es muss ja ne Lösung dafür geben. :roll:

_________________
Greetz Moelski


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 29, 2005 16:06 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
am besten: die linien nach dicke sortieren und dann alle linien mit gleicher dicke in einem glbegin...glend block zeichnen. wenn du zu viele verschiedene linienstärken hast, und somit das einzeln rendern zu viel performance zieht, musst du eine art fehlerdiffusion implementieren, also z.b. festlegen dass du genau 10 renderblöcke haben willst, die linien sortieren, und bei z.B. 100 Linien aus immer zehn linien den durchschnitt bilden und damit dann rendern.

_________________
Bild

"User Error. Replace User and hit Continue."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 29, 2005 20:01 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Mein Vorschlag:

Code:
  1.  
  2.   for _i := 0 to length(x) - 2 do begin
  3.     if length(x) < 2 then break;
  4.  
  5.     glLineWidth(width[_i]);
  6.     glPushMatrix;
  7.       glBegin(GL_LINES);
  8.       //glColor3b(Round(y[_i] * 40)+ 40,Round(y[_i] * 80) + 50,0);
  9.       glcolor3b(127 - (speed[_i]-127) ,speed[_i]-127,speed[_i]-127);
  10.       glVertex3f(x[_i], y[_i], z[_i]);
  11.       //glColor3b(Round(y[_i+1] * 40)+ 40,Round(y[_i+1] * 80) + 50,0);
  12.       glcolor3b(127 - (speed[_i+1]-127) ,speed[_i+1]-127,speed[_i+1]-127);
  13.       glVertex3f(x[_i+1], y[_i+1], z[_i+1]);
  14.       glEnd();
  15.     glPopMatrix;
  16.   end;
  17.  

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


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 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 | 14 Queries | GZIP : On ]