glColor: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
()
Zeile 1: Zeile 1:
 
{{Offline}}
 
{{Offline}}
  
==glColor==
+
<br>
 +
== Name ==
 +
'''glColor''' - Setzt die aktuelle Farbe.
  
===Syntax===
+
<br>
  '''procedure''' glColor(''red'', ''green'', ''blue'', ''alpha'': *);
+
== Delphi-Spezifikationen ==
  '''procedure''' glColor(''red'', ''green'', ''blue'': *);
+
  procedure '''glColor3b''' (red, green, blue: GLbyte);
  '''procedure''' glColor(''v'': P*);
+
procedure '''glColor3d'''  (red, green, blue: GLdouble);
 +
procedure '''glColor3f''' (red, green, blue: GLfloat);
 +
procedure '''glColor3i''' (red, green, blue: GLint);
 +
procedure '''glColor3s''' (red, green, blue: GLshort);
 +
procedure '''glColor3ub''' (red, green, blue: GLubyte);
 +
procedure '''glColor3ui''' (red, green, blue: GLuint);
 +
procedure '''glColor3us''' (red, green, blue: GLushort);
 +
procedure '''glColor4b''' (red, green, blue, alpha: GLbyte);
 +
procedure '''glColor4d'''  (red, green, blue, alpha: GLdouble);  
 +
  procedure '''glColor4f'''  (red, green, blue, alpha: GLfloat);
 +
procedure '''glColor4i'''  (red, green, blue, alpha: GLint);
 +
procedure '''glColor4s''' (red, green, blue, alpha: GLshort);
 +
procedure '''glColor4ub''' (red, green, blue, alpha: GLubyte);  
 +
  procedure '''glColor4ui''' (red, green, blue, alpha: GLuint);
 +
procedure '''glColor4us''' (red, green, blue, alpha: GLushort);
  
''(* = Einer der folgender Typen: GLbyte,GLdouble,GLfloat,GLint,GLshort,GLuint,GLushort)''
+
procedure '''glColor3bv'''  (v: PGLByte); 
 +
procedure '''glColor3dv'''  (v: PGLdouble)
 +
procedure '''glColor3fv'''  (v: PGLfloat);
 +
procedure '''glColor3iv'''  (v: PGLint);
 +
procedure '''glColor3sv'''  (v: PGLshort);
 +
procedure '''glColor3ubv''' (v: PGLubyte);
 +
procedure '''glColor3uiv''' (v: PGLuint);
 +
procedure '''glColor3usv''' (v: PGLushort);
 +
procedure '''glColor4bv'''  (v: PGLbyte);
 +
procedure '''glColor4dv'''  (v: PGLdouble);
 +
procedure '''glColor4fv'''  (v: PGLfloat);
 +
procedure '''glColor4iv'''  (v: PGLint);
 +
procedure '''glColor4sv'''  (v: PGLshort);
 +
procedure '''glColor4ubv''' (v: PGLubyte);
 +
procedure '''glColor4uiv''' (v: PGLuint);
 +
procedure '''glColor4usv''' (v: PGLushort);
  
===Aufgabe===
+
<br>
glColor legt die aktuelle Farbe in Form direkter Farbinformationen fest. <br>
+
== Parameter ==
Alle nachfolgend gezeichneten [[Primitive]] werden in der Farbe, die mit glColor gesetzt wurde, gezeichnet.
 
  
===Erlaubte [[Funktions Anhang|Funktions Anhänge]]===
+
Für alle '''glColor'''-Befehle die direkt Werte annehmen (ohne ''v'') :
Da die Funktion glColor selber überladen ist gibt es folgende Funktionen, um den Parameter festzulegen:
 
  
* glColor3b (red, green, blue: GLbyte);
+
{| border="1" rules="all"
* glColor3bv (v: PGLByte);
+
! ''red, green, blue''
* glColor3d (red, green, blue: GLdouble);
+
| Setzt den neuen Rot-, Grün- und Blauwert für die aktuelle Farbe.
* glColor3dv (v: PGLdouble);
+
|-
* glColor3f (red, green, blue: GLfloat);
+
! ''alpha''
* glColor3fv (v: PGLfloat);
+
| Setzt den neuen Alphawert für die aktuelle Farbe. Nur bei '''glColor4'''-Befehlen.
* glColor3i (red, green, blue: GLint);
+
|}
* glColor3iv (v: PGLint);
 
* glColor3s (red, green, blue: GLshort);
 
* glColor3sv (v: PGLshort);
 
* glColor3ub (red, green, blue: GLubyte);
 
* glColor3ubv (v: PGLubyte);
 
* glColor3ui (red, green, blue: GLuint);
 
* glColor3uiv (v: PGLuint);
 
* glColor3us (red, green, blue: GLushort);
 
* glColor3usv (v: PGLushort);
 
* glColor4b (red, green, blue, alpha: GLbyte);
 
* glColor4bv (v: PGLbyte);
 
* glColor4d (red, green, blue, alpha: GLdouble);
 
* glColor4dv (v: PGLdouble);
 
* glColor4f (red, green, blue, alpha: GLfloat);
 
* glColor4fv (v: PGLfloat);
 
* glColor4i (red, green, blue, alpha: GLint);
 
* glColor4iv (v: PGLint);
 
* glColor4s (red, green, blue, alpha: GLshort);
 
* glColor4sv (v: PGLshort);
 
* glColor4ub (red, green, blue, alpha: GLubyte);
 
* glColor4ubv (v: PGLubyte);
 
* glColor4ui (red, green, blue, alpha: GLuint);
 
* glColor4uiv (v: PGLuint);
 
* glColor4us (red, green, blue, alpha: GLushort);
 
* glColor4usv (v: PGLushort);
 
  
===Parameter===
+
Für alle '''glColor'''-Befehle die einen Zeiger auf Werte bekommen (mit ''v'') :
V ist ein Zeiger auf ein Array des festgelegten Typs, welches die Farbwerte enthält.
 
  
===Hinweise===
+
{| border="1" rules="all"
Verwendet man eine Farb-Liste, so benutz man die Funktion [[glIndex]],
+
! ''v''
um den aktuellen Farb-Index und somit die aktuelle Farbe festzulegen.
+
| Zeiger auf eine Reihe von Werten, in denen nacheinander Rot-, Grün-, Blau- und (ggf.) der Alpha-Anteil der neuen Farbe abgelegt sind.
 +
|}
  
Die aktuelle Farbe erhält man duch den Aufruf von [[glGetIntegerv]] mit den Paramter GL_CURRENT_COLOR.
+
<br>
 +
== Beschreibung ==
 +
Die GL speicher sowohl den aktuellen Einzelwert-Index und die aktuellen Vierwert-RGBA-Farbe. '''glColor''' setzt eine neue RGBA-Farbe, und kommt in zwei grundlegenden Varianten : '''glColor3f''' und '''glColor4f'''. Erstere gibt Rot-, Grün- und Blauanteil der neuen Farbe explizit an, während der Alphawert auf 1 gesetzt wird (volle Intensität). Bei zweiter Varianten hingegen werden alle vier Komponenten direkt angegeben.
 +
 
 +
[[glColor3b]], [[glColor4b]], [[glColor3s]], [[glColor4s]], [[glColor3i]] und [[glColor4i]] bekommen drei bzw. vier vorzeichenbehaftete Bytes, kurze- oder lange Integerwerte als Argumente. Wenn am Namen der Funktion ein ''v'' hängt, bekommen die Befehle ihre Argumente als einen Zeiger auf die Farbkomponenten.
 +
 
 +
Die aktuellen Farbwerte werden im Fließkommaformat abgelegt, ohne spezifizierte Mantissen- und Exponentengröße. Vorzeichenlose Integerfarbwerte (falls angegeben) werden linear auf das Fließkommaintervall [-1,0]  abgebildet. Vorzeichenbehaftete Integerwerte werden linear auf das Fließkommaintervall [-1,1] abgebildet.
 +
 
 +
Weder Fließkomma, noch vorzeichenbehaftete werden auf den Interval [0,1] beschränkt, bevor die aktuelle Farbe aktualisiert wird. Farbwerte werden jedoch auf dieses Intervall beschränkt, bevor diese in den Farbpuffer geschrieben werden.
 +
 
 +
<br>
 +
== Hinweise ==
 +
Deer Vorgabewert für die aktuelle Farbe ist (1, 1, 1, 1).
 +
 
 +
Die aktuelle Farbe kann zu jeder Zeit aktualisiert werden, auch in einem [[glBegin]]-[[glEnd]] Block.
 +
 
 +
<br>
 +
== Zugehörige Wertrückgaben ==
 +
[[glGet]] mit dem Argument '''GL_CURRENT_COLOR'''.<br>
 +
[[glGet]] mit dem Argument '''GL_RGBA_MODE'''.
 +
 
 +
<br>
 +
== Siehe auch ==
 +
[[glIndex]]
  
 
[[Kategorie:GL|Color]]
 
[[Kategorie:GL|Color]]

Version vom 7. September 2004, 11:04 Uhr

Hinweis: Dieser Artikel wird gerade Offline bearbeitet!

Bitte haben Sie etwas Geduld und nehmen Sie keine Änderungen vor, bis der Artikel hochgeladen wurde.

(weitere Artikel)
WIP Offline.jpg


Name

glColor - Setzt die aktuelle Farbe.


Delphi-Spezifikationen

procedure glColor3b  (red, green, blue: GLbyte); 
procedure glColor3d  (red, green, blue: GLdouble); 
procedure glColor3f  (red, green, blue: GLfloat); 
procedure glColor3i  (red, green, blue: GLint); 
procedure glColor3s  (red, green, blue: GLshort); 
procedure glColor3ub (red, green, blue: GLubyte); 
procedure glColor3ui (red, green, blue: GLuint); 
procedure glColor3us (red, green, blue: GLushort); 
procedure glColor4b  (red, green, blue, alpha: GLbyte); 
procedure glColor4d  (red, green, blue, alpha: GLdouble); 
procedure glColor4f  (red, green, blue, alpha: GLfloat); 
procedure glColor4i  (red, green, blue, alpha: GLint); 
procedure glColor4s  (red, green, blue, alpha: GLshort); 
procedure glColor4ub (red, green, blue, alpha: GLubyte); 
procedure glColor4ui (red, green, blue, alpha: GLuint); 
procedure glColor4us (red, green, blue, alpha: GLushort);  
procedure glColor3bv  (v: PGLByte);  
procedure glColor3dv  (v: PGLdouble);  
procedure glColor3fv  (v: PGLfloat); 
procedure glColor3iv  (v: PGLint); 
procedure glColor3sv  (v: PGLshort); 
procedure glColor3ubv (v: PGLubyte); 
procedure glColor3uiv (v: PGLuint); 
procedure glColor3usv (v: PGLushort); 
procedure glColor4bv  (v: PGLbyte); 
procedure glColor4dv  (v: PGLdouble); 
procedure glColor4fv  (v: PGLfloat); 
procedure glColor4iv  (v: PGLint); 
procedure glColor4sv  (v: PGLshort); 
procedure glColor4ubv (v: PGLubyte); 
procedure glColor4uiv (v: PGLuint); 
procedure glColor4usv (v: PGLushort); 


Parameter

Für alle glColor-Befehle die direkt Werte annehmen (ohne v) :

red, green, blue Setzt den neuen Rot-, Grün- und Blauwert für die aktuelle Farbe.
alpha Setzt den neuen Alphawert für die aktuelle Farbe. Nur bei glColor4-Befehlen.

Für alle glColor-Befehle die einen Zeiger auf Werte bekommen (mit v) :

v Zeiger auf eine Reihe von Werten, in denen nacheinander Rot-, Grün-, Blau- und (ggf.) der Alpha-Anteil der neuen Farbe abgelegt sind.


Beschreibung

Die GL speicher sowohl den aktuellen Einzelwert-Index und die aktuellen Vierwert-RGBA-Farbe. glColor setzt eine neue RGBA-Farbe, und kommt in zwei grundlegenden Varianten : glColor3f und glColor4f. Erstere gibt Rot-, Grün- und Blauanteil der neuen Farbe explizit an, während der Alphawert auf 1 gesetzt wird (volle Intensität). Bei zweiter Varianten hingegen werden alle vier Komponenten direkt angegeben.

glColor3b, glColor4b, glColor3s, glColor4s, glColor3i und glColor4i bekommen drei bzw. vier vorzeichenbehaftete Bytes, kurze- oder lange Integerwerte als Argumente. Wenn am Namen der Funktion ein v hängt, bekommen die Befehle ihre Argumente als einen Zeiger auf die Farbkomponenten.

Die aktuellen Farbwerte werden im Fließkommaformat abgelegt, ohne spezifizierte Mantissen- und Exponentengröße. Vorzeichenlose Integerfarbwerte (falls angegeben) werden linear auf das Fließkommaintervall [-1,0] abgebildet. Vorzeichenbehaftete Integerwerte werden linear auf das Fließkommaintervall [-1,1] abgebildet.

Weder Fließkomma, noch vorzeichenbehaftete werden auf den Interval [0,1] beschränkt, bevor die aktuelle Farbe aktualisiert wird. Farbwerte werden jedoch auf dieses Intervall beschränkt, bevor diese in den Farbpuffer geschrieben werden.


Hinweise

Deer Vorgabewert für die aktuelle Farbe ist (1, 1, 1, 1).

Die aktuelle Farbe kann zu jeder Zeit aktualisiert werden, auch in einem glBegin-glEnd Block.


Zugehörige Wertrückgaben

glGet mit dem Argument GL_CURRENT_COLOR.
glGet mit dem Argument GL_RGBA_MODE.


Siehe auch

glIndex