| @@ -167,6 +167,7 @@ type | |||||
| //Vektor Konstruktoren | //Vektor Konstruktoren | ||||
| function gluVector4f(const X, Y, Z, W: Single): TgluVector4f; | function gluVector4f(const X, Y, Z, W: Single): TgluVector4f; | ||||
| function gluVector4f(const aVec: TgluVector3f; const W: Single): TgluVector4f; | function gluVector4f(const aVec: TgluVector3f; const W: Single): TgluVector4f; | ||||
| function gluVector4f(const aVec: TgluVector2f; const Z, W: Single): TgluVector4f; | |||||
| function gluVector4d(const X, Y, Z, W: Single): TgluVector4d; | function gluVector4d(const X, Y, Z, W: Single): TgluVector4d; | ||||
| function gluVector3f(const X, Y, Z: Single): TgluVector3f; overload; | function gluVector3f(const X, Y, Z: Single): TgluVector3f; overload; | ||||
| function gluVector3f(const v: TgluVector4f): TgluVector3f; overload; | function gluVector3f(const v: TgluVector4f): TgluVector3f; overload; | ||||
| @@ -204,6 +205,8 @@ type | |||||
| function gluVectorClamp(const v: TgluVector4f; const aMin, aMax: Single): TgluVector4f; overload; | function gluVectorClamp(const v: TgluVector4f; const aMin, aMax: Single): TgluVector4f; overload; | ||||
| function gluVectorAdd(const v1, v2: TgluVector3f): TgluVector3f; | function gluVectorAdd(const v1, v2: TgluVector3f): TgluVector3f; | ||||
| function gluVectorSubtract(const v1, v2: TgluVector3f): TgluVector3f; | function gluVectorSubtract(const v1, v2: TgluVector3f): TgluVector3f; | ||||
| function gluVectorAdd(const v1, v2: TgluVector2f): TgluVector2f; | |||||
| function gluVectorSubtract(const v1, v2: TgluVector2f): TgluVector2f; | |||||
| procedure gluVectorOrthoNormalize(var reference, tangent: TgluVector3f); | procedure gluVectorOrthoNormalize(var reference, tangent: TgluVector3f); | ||||
| function gluGetAbsCoord(const v: TgluVector3f): TgluVector3f; | function gluGetAbsCoord(const v: TgluVector3f): TgluVector3f; | ||||
| @@ -264,6 +267,9 @@ type | |||||
| operator + (const v1, v2: TgluVector3f): TgluVector3f; inline; | operator + (const v1, v2: TgluVector3f): TgluVector3f; inline; | ||||
| operator - (const v1, v2: TgluVector3f): TgluVector3f; inline; | operator - (const v1, v2: TgluVector3f): TgluVector3f; inline; | ||||
| operator + (const v1, v2: TgluVector2f): TgluVector2f; inline; | |||||
| operator - (const v1, v2: TgluVector2f): TgluVector2f; inline; | |||||
| const | const | ||||
| gluVectorNull : TgluVector3f = (0,0,0); | gluVectorNull : TgluVector3f = (0,0,0); | ||||
| gluVectorUnitX: TgluVector3f = (1,0,0); | gluVectorUnitX: TgluVector3f = (1,0,0); | ||||
| @@ -355,6 +361,16 @@ begin | |||||
| result := gluVectorSubtract(v1, v2); | result := gluVectorSubtract(v1, v2); | ||||
| end; | end; | ||||
| operator + (const v1, v2: TgluVector2f): TgluVector2f; | |||||
| begin | |||||
| result := gluVectorAdd(v1, v2); | |||||
| end; | |||||
| operator - (const v1, v2: TgluVector2f): TgluVector2f; | |||||
| begin | |||||
| result := gluVectorSubtract(v1, v2); | |||||
| end; | |||||
| //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| //speichert einen Vector in einem Stream | //speichert einen Vector in einem Stream | ||||
| //@vec: Vector die gespeichert werden soll; | //@vec: Vector die gespeichert werden soll; | ||||
| @@ -436,6 +452,14 @@ begin | |||||
| result[3] := W; | result[3] := W; | ||||
| end; | end; | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |||||
| function gluVector4f(const aVec: TgluVector2f; const Z, W: Single): TgluVector4f; | |||||
| begin | |||||
| PgluVector2f(@result[0])^ := aVec; | |||||
| result[2] := Z; | |||||
| result[3] := W; | |||||
| end; | |||||
| //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| //erstellt einen Vector | //erstellt einen Vector | ||||
| //@W: 1. Wert im Vector; | //@W: 1. Wert im Vector; | ||||
| @@ -778,6 +802,20 @@ begin | |||||
| result[i] := v1[i] - v2[i]; | result[i] := v1[i] - v2[i]; | ||||
| end; | end; | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |||||
| function gluVectorAdd(const v1, v2: TgluVector2f): TgluVector2f; | |||||
| begin | |||||
| result[0] := v1[0] + v2[0]; | |||||
| result[1] := v1[1] + v2[1]; | |||||
| end; | |||||
| //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |||||
| function gluVectorSubtract(const v1, v2: TgluVector2f): TgluVector2f; | |||||
| begin | |||||
| result[0] := v1[0] - v2[0]; | |||||
| result[1] := v1[1] - v2[1]; | |||||
| end; | |||||
| //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| //Verändert die Vektoren so, dass sie orthogonal und normalisiert sind, bleibt dabei in der gleichen Ebene | //Verändert die Vektoren so, dass sie orthogonal und normalisiert sind, bleibt dabei in der gleichen Ebene | ||||
| //@v1: Vektor 1; | //@v1: Vektor 1; | ||||