Anfängerfragen zu OpenGL mit VCL-C++
-
Hi zusammen
Also, ich pushe ein Matrix mit glPushMatrix() und zeichne dann mit glBegin(GL_POINTS) und glEnd().
Wenn ich dort dazwischen glColor4d(127/255, 63/255, 191/255, 25/100) und dann die Position angebe, sollte es doch 25% durchsichtig sein, oder? Bei mir ist es aber 0% durchsichtig! Wieso aber?MfG,
X.DarkForce.XPS: Achja, wie kann ich alles gezeichnete Kantenglätten (Anti-Aliasing)?
-
Du musst Alphablending aktivieren. Falls das da oben direkt aus deinem Code stammt so seist du auch drauf hingewiesen dass 25/100 eine Integerdivision ist die als Ergebnis 0 liefert.
Was Antialiasing angeht google einfach mal nach Multisampling und OpenGL...
-
25/100=0
25.0/100=0.25
25/100.0=0.25Vielleicht soltlest du erstmal die Sprache lernen, bevor du mit OpenGL beginnst...
-
Das war doch nur Schematisch...
Im echten Code nutze ich float-Variabeln. Er kompiliert und hat immernoch kein Alpha...
-
Das war doch nur Schematisch...
Im echten Code nutze ich float-Variabeln. Er kompiliert und hat immernoch kein Alpha...
-
dann zeig doch mal echten Code. Falschen Code zeigen um Hilfe zu kriegen ist irgendwie nicht sehr intelligent, oder?
-
Hier der Code:
glShadeModel(GL_SMOOTH); glPushMatrix (); glBegin (GL_QUADS); glColor3d(237.0l/255.0l, 28.0l/255.0l, 36.0l/255.0l); glVertex2d( 1.0l, 1.0l); glVertex2d( 1.0l, -1.0l); glVertex2d(-1.0l, -1.0l); glVertex2d(-1.0l, 1.0l); glEnd (); glBegin (GL_TRINAGLES); glColor3d(237.0l/255.0l, 28.0l/255.0l, 36.0l/255.0l); glVertex2d(-1.0l, 1.0l); glColor4d(34.0l/255.0l, 177.0l/255.0l, 76.0l/255.0l, 66.67l/100.0l); glVertex2d( 1.0l, 1.0l); glColor3d(237.0l/255.0l, 28.0l/255.0l, 36.0l/255.0l); glVertex2d( 1.0l, -1.0l); glEnd (); glBegin (GL_QUADS); glColor4d(0.0l/255.0l, 183.0l/255.0l, 239.0l/255.0l, 25.0l/100.0l); glVertex2d( 1.0l, 1.0l); glColor3d(0.0l/255.0l, 183.0l/255.0l, 239.0l/255.0l); glVertex2d( 1.0l, -1.0l); glVertex2d(-1.0l, -1.0l); glVertex2d(-1.0l, 1.0l); glEnd (); glPopMatrix ();
Er spuckt nur eine blaue Fläche aus. Doch er sollte aber eine blaue Fläche mit einem Rot-Grün-Verlauf obenrechts ausgeben.
Edit: habe die Variabeln durch ihre erwartete Werte ersetzt...
-
dot schrieb:
Du musst Alphablending aktivieren.
-
Und wie geht das?
(Sorry, bin absolut neu hier)
-
-
Also das wegen dem alpha habe ich gefunden...
glEnable (GL_BLEND);
glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);Kann mir jemand mit dem Kantenglätten helfen?
Ich habe es schon gesucht, aber nix gefunden...
-
google erster hit: http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=46