glGetMaterial

Aus DGL Wiki
Version vom 5. Dezember 2005, 20:28 Uhr von DGLBot (Diskussion | Beiträge) (GlGetMaterial wurde nach glGetMaterial verschoben)

Wechseln zu: Navigation, Suche

glGetMaterial


Name

glGetMaterial - liefert Materialeigenschaften zurück.


Delphi-Spezifikation

procedure glGetMaterialfv(face: TGLenum; pname: TGLenum; params: PGLfloat);
procedure glGetMaterialiv(face: TGLenum; pname: TGLenum; params: PGLint);


Parameter

face Bezeichnet die Seiten einer Fläche, deren Eigenschaften zurück geliefert werden sollen. Akzeptiert werden GL_FRONT und GL_BACK.
pname Bezeichnet die Materialeigenschaft die zurück geliefert werden soll. Akzeptiert werden:
GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_EMISSION, GL_SHININESS, oder GL_COLOR_INDEXES.
params Enthält die angeforderten Daten bezüglich der Eigenschaft pname.


Beschreibung

glGetMaterial liefert über params den oder die Werte der Materialeigenschaft pname auf der Oberflächenseite face zurück.
Sechs verschiedene Eigenschaften können abgefragt werden:

GL_AMBIENT

params liefert vier ganzzahlige oder Fließkommawerte welche den ambienten RGBA Lichtanteil repräsentieren, der vom Material reflektiert wird.
Ganzzahlen werden linear so auf das Interval [-1.0, 1.0] abgebildet, dass der größtmögliche Integerwert auf 1.0 und der kleinstmögliche auf -1.0 abgebildet wird.
Wenn der interne Wert außerhalb des Intervalls[-1,1] liegt, ist der zugehörige ganzzahlige Rückgabewert unbestimmt.

GL_DIFFUSE

params liefert vier ganzzahlige oder Fließkommawerte welche den diffusen RGBA Lichtanteil repräsentieren, der vom Material reflektiert wird.
Ganzzahlen werden linear so auf das Interval [-1.0, 1.0] abgebildet, dass der größtmögliche Integerwert auf 1.0 und der kleinstmögliche auf -1.0 abgebildet wird.
Wenn der interne Wert außerhalb des Intervalls[-1,1] liegt, ist der zugehörige ganzzahlige Rückgabewert unbestimmt.

GL_SPECULAR

params liefert vier ganzzahlige oder Fließkommawerte welche den RGBA Glanzlichtanteil repräsentieren, der vom Material reflektiert wird.
Ganzzahlen werden linear so auf das Interval [-1.0, 1.0] abgebildet, dass der größtmögliche Integerwert auf 1.0 und der kleinstmögliche auf -1.0 abgebildet wird.
Wenn der interne Wert außerhalb des Intervalls[-1,1] liegt, ist der zugehörige ganzzahlige Rückgabewert unbestimmt.

GL_EMISSION

params liefert vier ganzzahlige oder Fließkommawerte welche den ausgestrahlten RGBA Lichtanteil repräsentieren, der vom Material ausgeht. (selbstleuchtendes Material)
Ganzzahlen werden linear so auf das Interval [-1.0, 1.0] abgebildet, dass der größtmögliche Integerwert auf 1.0 und der kleinstmögliche auf -1.0 abgebildet wird.
Wenn der interne Wert außerhalb des Intervalls[-1,1] liegt, ist der zugehörige ganzzahlige Rückgabewert unbestimmt.

GL_SHININESS

params liefert eine einzelne Ganz- oder Fließkommazahl welche den Glanzlichtexponent repräsentieren. (Specular Exponent)
Ganzahlen werden bestimmt, indem die interne Fließkommadarstellung zur nächsten Ganzzahl gerundet wird.

GL_COLOR_INDEXES

params liefert 3 Ganz- oder Fließkommazahlen die den Farbindex für den ambienten, diffusen und den Glanzlichtanteil darstellen.
Diese drei Werte werden nur für die Beleuchtung im Farbindex-Modus (siehe glIndex) benutzt. (Die anderen Eigenschaften werden alle für die RGBA Lichtberechnung genutzt)
Ganzahlen werden bestimmt, indem die interne Fließkommadarstellung zur nächsten Ganzzahl gerundet wird.


Hinweise

Wenn ein Fehler ausgelöst wird, werden keine Änderungen am Inhalt von params durchgeführt.


Fehlermeldungen

GL_INVALID_ENUM wird generiert wenn face oder pname ein ungültiger Wert übergeben wird.
GL_INVALID_OPERATION wird generiert wenn glGetMaterial innerhalb eines glBegin-glEnd Blocks aufgerufen wird.


Siehe auch

glMaterial