Registriert: Do Nov 23, 2006 20:44 Beiträge: 21 Wohnort: Wien
Hallo,
Ich habe vor 6 Monaten mal mit den Grundgerüßt von OpenGL angefangen und habe heute plötzlich Lust bekommen mal ein wenig weiter herum zu probieren.
Ich will einen Kreis machen, dessen Radius pro Zeiteinheit immer kleiner wird und die Farbe wechselt,
nach etlichen Überlegungen (jaja da gibts doch so ein Koordinatensystem dafür ) habe ich das endlich hinbekommen.
Die Zeichenroutine
Code:
glBegin(GL_POLYGON);
winkel:=0;
radius:=radius-0.1;
glColor3f(random(2),random(2),random(2));
for i:=1to70do
begin
winkel:=winkel+0.1;
x:=Radius*(cos(winkel));
y:=Radius*(sin(winkel));
glVertex3f(x,y,0);
end;
glEnd;
Das Problem ist, das wenn der Kreis etwas größer ist, beim Farbenwechseln immer ein Flimmern auftaucht.
Warum tritt das auf, wie kann man das Problem beseitigen?
Registriert: Mo Sep 02, 2002 15:41 Beiträge: 867 Wohnort: nahe Stuttgart
Ich kann mir beim Anschauen grade nichts Flimmerndes vorstellen, aber vielleicht liegt das an deaktiviertem V-Sync. Im Normalfall kannst du das beim Initialisieren mit
Code:
wglSwapIntervalEXT(1);
anschalten, wenn es nicht generell in den Grafikkarteneinstellungen deaktiviert wurde.
PS: Verwende doch das nächste Mal [pascal] statt [code] Tags
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Ich tippe eher mal darauf, das Gefühl entsteht es flimmere entsteht, weil sich die Farben ständig wechseln. Was ja eigentlich auch richtig ist, denn Flimmern ist ein für das Auge sichtbarer Wechsel des Inhalt und das passiert dort ja in jedem Frame.
Registriert: Mo Jan 31, 2005 11:02 Beiträge: 432 Wohnort: Rheinlandpfalz
Warum schreibst du random(2)? Das gibt dir den Wert 0 ODER 1 für jeweils r, g, b.
Vielleicht ist es ja auch gewünscht, aber wenn du "richtige" Zufallsfarben haben willst, musst du einfach nur random() schreiben. Das liefert einen Gleitkommawert zwischen 0 UND 1. Mit deiner Methode sind nämlich nur 2³=8 Farben möglich.
Mitglieder in diesem Forum: 0 Mitglieder 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.