|
|
@@ -167,6 +167,7 @@ type |
|
|
|
//Vektor Konstruktoren |
|
|
|
function gluVector4f(const X, Y, Z, 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 gluVector3f(const X, Y, Z: Single): 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 gluVectorAdd(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); |
|
|
|
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: TgluVector2f): TgluVector2f; inline; |
|
|
|
operator - (const v1, v2: TgluVector2f): TgluVector2f; inline; |
|
|
|
|
|
|
|
const |
|
|
|
gluVectorNull : TgluVector3f = (0,0,0); |
|
|
|
gluVectorUnitX: TgluVector3f = (1,0,0); |
|
|
@@ -355,6 +361,16 @@ begin |
|
|
|
result := gluVectorSubtract(v1, v2); |
|
|
|
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 |
|
|
|
//@vec: Vector die gespeichert werden soll; |
|
|
@@ -436,6 +452,14 @@ begin |
|
|
|
result[3] := W; |
|
|
|
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 |
|
|
|
//@W: 1. Wert im Vector; |
|
|
@@ -778,6 +802,20 @@ begin |
|
|
|
result[i] := v1[i] - v2[i]; |
|
|
|
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 |
|
|
|
//@v1: Vektor 1; |
|
|
|