Condividi tramite


funzione gluTessNormal

La funzione gluTessNormal specifica una normale per un poligono.

Sintassi

void WINAPI gluTessNormal(
   GLUtesselator *tess,
   GLdouble      x,
   GLdouble      y,
   GLdouble      z
);

Parametri

Tess

Oggetto tessellazione (creato con gluNewTess).

x

Componente di coordinata x di una normale.

y

Componente coordinata y di una normale.

Z

Componente della coordinata z di una normale.

Valore restituito

Questa funzione non restituisce un valore.

Commenti

La funzione gluTessNormal descrive una normale per un poligono definito. Tutti i dati di input vengono proiettati su un piano perpendicolare a uno dei tre assi di coordinata prima della tessellazione e tutti i triangoli di output sono orientati in senso antiorario rispetto alla normale. (Per ottenere l'orientamento in senso orario, invertire il segno della normale fornita). Ad esempio, se si conosce che tutti i poligoni si trovano nel piano x-y, chiamare gluTessNormal(tess, 0.0, 0.0, 1.0) prima di eseguire il rendering di qualsiasi poligono.

Se la normale fornita è (0,0, 0,0, 0,0) (il valore predefinito), la normale viene determinata come segue:

  1. La direzione del normale, fino al suo segno, viene trovata adattando un piano ai vertici, senza considerare il modo in cui i vertici sono connessi. Si prevede che i dati di input si trovino approssimativamente nel piano; in caso contrario, la proiezione perpendicolare a uno dei tre assi di coordinate può modificare sostanzialmente la geometria.
  2. Il segno della normale viene scelto in modo che la somma delle aree firmate di tutti i contorni di input sia nonnegative (dove un contorno antiorario ha un'area positiva).

La normale fornita persiste fino a quando non viene modificata un'altra chiamata a gluTessNormal .

Requisiti

Requisito Valore
Client minimo supportato
Windows 2000 Professional [solo app desktop]
Server minimo supportato
Windows 2000 Server [solo app desktop]
Intestazione
Glu.h
Libreria
Glu32.lib
DLL
Glu32.dll

Vedi anche

gluNewTess

gluTessBeginPolygon

gluTessEndPolygon