Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi OpenGL: Verdunkeln (https://www.delphipraxis.net/169260-opengl-verdunkeln.html)

Destroyer446 7. Jul 2012 08:55

OpenGL: Verdunkeln
 
Hey,
ich habe die Frage, wie ich einen Block den ich mit
Delphi-Quellcode:
glBegin(GL_QUADS);
 glColor3f(0, 240, 233);
 glVertex2f(X, Y);
 ...
glEnd;
erschaffe, verdunkeln kann (per OpenGL am besten).

Danke für alle Antworten!

turboPASCAL 7. Jul 2012 09:38

AW: OpenGL: Verdunkeln
 
Äh Verdunkeln ?

Einfach die Farbe ändern mit glColor3f();.

Destroyer446 7. Jul 2012 12:25

AW: OpenGL: Verdunkeln
 
Das Problem dabei ist, wenn ich z.B. habe:
glColor3f(0, 240, 233);

und dann als dunkle variante mache:
glColor3f(0, 213, 206);

funzt das nich weil er nicht von 255 ausgeht sondern von 213 wenn 213 das höchste ist.
Das heißt er rechnet nur Prozentual - und das möchte ich vermeiden.

Hat da jemand eine Lösung?

Mfg

EWeiss 7. Jul 2012 12:33

AW: OpenGL: Verdunkeln
 
Du solltest alle werte die du änderst nachher wieder zurück setzen.
Also ist das Bild Dunkel oder ändern sich die Farben dann nach der Render function
die Farben wieder auf Standard(weiss) zurücksetzen.

Delphi-Quellcode:
glColor3f(1.0, 1.0, 1.0);


gruss

Destroyer446 7. Jul 2012 13:45

AW: OpenGL: Verdunkeln
 
Ja aber ich will ja wissen wie ich die verdunkle :|
Aber ich hab jetzt noch ein anderes Problem was auch damit zu tun hat:
Ich will das Quadrat (GL_QUADS) zum Rand hin dunkler machen, wie bekomm ich das hin?
Also nicht nur einfach glColor3f sondern Mitte hell -> Rand dunkel - Vorschläge?

Danke!!

Mfg

Bummi 7. Jul 2012 13:51

AW: OpenGL: Verdunkeln
 
sorry falls ich völlig daneben liege, ich habe bisher nur mir GLScene gearebitet...
Ein Spotlight?

Jens01 7. Jul 2012 15:24

AW: OpenGL: Verdunkeln
 
Zitat:

Also nicht nur einfach glColor3f sondern Mitte hell -> Rand dunkel - Vorschläge?
Mit einer Textur? Tutorial!
Zitat:

Ja aber ich will ja wissen wie ich die verdunkle
Ist Dein Problem, dass Du nicht die Werte der dunkleren Farbe kennst. Dann wäre das keine OpenGL-Sache, sondern eine Sachen mit der Berechnung von Farben. Dazu könntest Du hier im Forum suchen oder vielleicht bei Graphics32 gucken.

Destroyer446 7. Jul 2012 16:24

AW: OpenGL: Verdunkeln
 
Hmm.. könnte man nicht direkt in OpenGL Ränder für die Vierecke machen?
Ich will ja eigentlich nur, dass man es erkennt, wenn 2 gleichfarbige Vierecke nebeneinander sind...
Gibts da nicht nen einfacheren Weg als Texturen?

Mfg

Jens01 7. Jul 2012 16:50

AW: OpenGL: Verdunkeln
 
Man könnte Ränder um die Figuren ziehen.
Dazu mußt aber entweder die Figuren nochmals mit GL_LINE_LOOP o.ä. zeichnen.
Oder das ganze noch mal im Wireframe-Modus rendern.
Mach das erste!

Namenloser 7. Jul 2012 18:15

AW: OpenGL: Verdunkeln
 
Zitat:

Zitat von Destroyer446 (Beitrag 1173894)
Das Problem dabei ist, wenn ich z.B. habe:
glColor3f(0, 240, 233);

und dann als dunkle variante mache:
glColor3f(0, 213, 206);

funzt das nich weil er nicht von 255 ausgeht sondern von 213 wenn 213 das höchste ist.
Das heißt er rechnet nur Prozentual - und das möchte ich vermeiden.

Die Parameter von glColor3f gehen von 0.0 bis 1.0, nicht von 0 bis 255.

Zitat:

Zitat von OpenGl-Spezifikation
Current color values are stored in floating-point format, with unspecified mantissa and exponent sizes. Unsigned integer color components, when specified, are linearly mapped to floating-point values such that the largest representable value maps to 1.0 (full intensity), and 0 maps to 0.0 (zero intensity). Signed integer color components, when specified, are linearly mapped to floating-point values such that the most positive representable value maps to 1.0, and the most negative representable value maps to -1.0 . [...]

Floating-point values are mapped directly.

Das was in fett geschrieben ist, passiert bei dir.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:36 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz