glGetMaterial
Aus DGL Wiki
Inhaltsverzeichnis
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 drei 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.