glNormal: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
(Delphi-Spezifikation an Vorlage angepasst. Bitte auch an Vorlage halten, und stdcalls weglassen.)
K (Rechtschreibung, bessere Formulierung)
Zeile 4: Zeile 4:
 
== Name ==
 
== Name ==
 
----
 
----
'''glnormal''' - setzt die aktuell gültige Normale.
+
'''glNormal''' - setzt die aktuell gültige Normale.
 
<br>
 
<br>
 
== Delphi-Spezifikation ==
 
== Delphi-Spezifikation ==
Zeile 23: Zeile 23:
 
== Parameter ==
 
== Parameter ==
 
----
 
----
Version mit 3 einzelparametern (glNormal3*)
+
Version mit 3 Einzelparametern (glNormal3*) :
 
<table border=1 rules=all>
 
<table border=1 rules=all>
 
<tr>
 
<tr>
 
  <td>''nx'', ''ny'', ''nz''</td>
 
  <td>''nx'', ''ny'', ''nz''</td>
  <td>Spezifizieren die x, y und z Koordinaten der neuen Normale.</td>
+
  <td>Geben die x, y und z Koordinaten der neuen Normale an.</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
  
Version mit Parameterfeld (glNormal3*v)
+
Version mit Parameterfeld (glNormal3*v) :
 
<table border=1 rules=all>
 
<table border=1 rules=all>
 
<tr>
 
<tr>
 
  <td>''v''</td>
 
  <td>''v''</td>
  <td>''v'' ist ein Pointer auf ein Feld welches 3 Werte enthält. Diese 3 Werte stellen die x, y  
+
  <td>''v'' ist ein Zeiger auf ein Feld welches 3 Werte enthält. Diese 3 Werte stellen die x, y und z-Koordinaten der neuen Normale dar.</td>
 
 
und z Koordinaten der neuen Normale dar.</td>
 
 
</tr>
 
</tr>
 
</table>
 
</table>
  
 
Initialisiert ist die Normale mit den Werten (0,0,1).
 
Initialisiert ist die Normale mit den Werten (0,0,1).
 +
 
<br>
 
<br>
 
== Beschreibung ==  
 
== Beschreibung ==  
 
----
 
----
 
Die aktuelle Normale wird immer dann auf die Übergebenen Koordinaten ausgerichtet, wenn '''glNormal''' aufgerufen wird. <br>
 
Die aktuelle Normale wird immer dann auf die Übergebenen Koordinaten ausgerichtet, wenn '''glNormal''' aufgerufen wird. <br>
Parameter in Byte, Short oder Integer Typen werden so in Fließkommazahlen umgerechnet, dass die kleinstmögliche Zahl des Paramtertyps zu -1.0 und die größtmögliche Zahl zu 1.0 wird. <br>
+
Parameter in Byte-, Short- oder Integer-Typen werden so in Fließkommazahlen umgerechnet, dass die kleinstmögliche Zahl des Paramtertyps zu -1.0 und die größtmögliche Zahl zu 1.0 wird. <br>
  
 
<br>
 
<br>
 
== Hinweise ==
 
== Hinweise ==
 
----
 
----
 
 
* Normalisierte Normalen
 
* Normalisierte Normalen
  - Normalen die mit '''glNormal''' gesetzt werden, müssen keine Einheitslänge haben. (||n|| <> 1)
+
- Normale, die mit '''glNormal''' gesetzt werden, müssen keine Einheitslänge haben. (||n|| <> 1)
  - Wenn Normalisierung aktiviert wurde, wird die Normale nach der Transformation normalisiert.
+
- Wenn Normalisierung aktiviert wurde, wird die Normale nach der Transformation normalisiert.
  - Normalisierung kann mittels [[glEnable | glEnable/glDisable]] kontrolliert werden.
+
- Normalisierung kann mittels [[glEnable | glEnable/glDisable]] und dem Argument '''GL_NORMALIZE''' kontrolliert werden.
  - Standardmäßig ist Normalisierung deaktiviert.
+
- Standardmäßig ist Normalisierung deaktiviert.
 
* Die Normale kann zu jeder Zeit neu gesetzt werden. So kann '''glNormal''' auch innerhalb von [[glBegin]]-[[glEnd]] Blöcken aufgerufen werden.
 
* Die Normale kann zu jeder Zeit neu gesetzt werden. So kann '''glNormal''' auch innerhalb von [[glBegin]]-[[glEnd]] Blöcken aufgerufen werden.
  

Version vom 21. Juli 2004, 10:14 Uhr

glNormal


Name


glNormal - setzt die aktuell gültige Normale.

Delphi-Spezifikation


procedure glNormal3b(nx: TGLbyte; ny: TGLbyte; nz: TGLbyte);
procedure glNormal3d(nx: TGLdouble; ny: TGLdouble; nz: TGLdouble);
procedure glNormal3f(nx: TGLfloat; ny: TGLfloat; nz: TGLfloat);
procedure glNormal3i(nx: TGLint; ny: TGLint; nz: TGLint);
procedure glNormal3s(nx: TGLshort; ny: TGLshort; nz: TGLshort);

procedure glNormal3bv(const v: PGLbyte);
procedure glNormal3dv(const v: PGLdouble);
procedure glNormal3fv(const v: PGLfloat);
procedure glNormal3iv(const v: PGLint);
procedure glNormal3sv(const v: PGLshort);


Parameter


Version mit 3 Einzelparametern (glNormal3*) :

nx, ny, nz Geben die x, y und z Koordinaten der neuen Normale an.

Version mit Parameterfeld (glNormal3*v) :

v v ist ein Zeiger auf ein Feld welches 3 Werte enthält. Diese 3 Werte stellen die x, y und z-Koordinaten der neuen Normale dar.

Initialisiert ist die Normale mit den Werten (0,0,1).


Beschreibung


Die aktuelle Normale wird immer dann auf die Übergebenen Koordinaten ausgerichtet, wenn glNormal aufgerufen wird.
Parameter in Byte-, Short- oder Integer-Typen werden so in Fließkommazahlen umgerechnet, dass die kleinstmögliche Zahl des Paramtertyps zu -1.0 und die größtmögliche Zahl zu 1.0 wird.


Hinweise


  • Normalisierte Normalen
- Normale, die mit glNormal gesetzt werden, müssen keine Einheitslänge haben. (||n|| <> 1)
- Wenn Normalisierung aktiviert wurde, wird die Normale nach der Transformation normalisiert.
- Normalisierung kann mittels  glEnable/glDisable und dem Argument GL_NORMALIZE kontrolliert werden.
- Standardmäßig ist Normalisierung deaktiviert.
  • Die Normale kann zu jeder Zeit neu gesetzt werden. So kann glNormal auch innerhalb von glBegin-glEnd Blöcken aufgerufen werden.


Fehlermeldungen


keine


Zugehörige Wertrückgaben


glGet mit Token GL_CURRENT_NORMAL
glIsEnabled mit GL_NORMALIZE


Siehe auch


glBegin, glColor, glIndex, glTexCoord, glVertex