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