Code: Alles auswählen
type
TVector = array[0..2] of GLfloat;
function vec3(x, y, z: GLfloat): TVector;
begin
Result[0] := x;
Result[1] := y;
Result[2] := z;
end;
var
v : vec3;
begin
v:= vec(1, 2, 3);
end.
Code: Alles auswählen
type
TVector = array[0..2] of GLfloat;
function vec3(x, y, z: GLfloat): TVector;
begin
Result[0] := x;
Result[1] := y;
Result[2] := z;
end;
var
v : vec3;
begin
v:= vec(1, 2, 3);
end.
Code: Alles auswählen
type
TVector = array[0..2] of GLfloat;
function vec3(x, y, z: GLfloat): TVector;
begin
Result[0] := x;
Result[1] := y;
Result[2] := z;
end;
var
v : TVector; // hier steht der Typ, TVector
begin
v:= vec3(1, 2, 3); // Das ist die Funktion, die den Vektor erzeugt.
end.
Code: Alles auswählen
#version 330
in vec4 Color;
out vec4 outColor;
vec3 Farbe;
void main(void)
{
Farbe = vec3(0.0, 1.0, 0.0);
outColor = Color;
outColor = vec4(vec3(1.0, 0.0, 0.0), 1.0);
outColor = vec4(Farbe, 1.0);
}
Code: Alles auswählen
var
Farbe: TVector = (x:0.0; y:1.0; z:2.0);
Code: Alles auswählen
type
TVector = array[0..2] of GLfloat;
function create_vec3(x, y, z: GLfloat): TVector; inline;
begin
Result[0] := x;
Result[1] := y;
Result[2] := z;
end;
var
v : TVector;
begin
v:= create_vec3(1, 2, 3);
end.
Code: Alles auswählen
TMatrixModif = class
private
ReadVector: TVector;
procedure WriteVector(x, y, z: GLfloat);
public
property vec3: TVector read ReadVector write WriteVector;
end;
Code: Alles auswählen
TMatrixModif = class
private
FReadVector: TVector;
procedure SetVector(x, y, z: GLfloat);
public
property vec3: TVector read FReadVector write SetVector;
end;
Das wird garantiert komplizierter als die Funktionslösung.
Code: Alles auswählen
type
TMatrixModif = class
private
FReadVector: TVector;
procedure SetVector(x, y, z: GLfloat);
public
property vec3: TVector read FReadVector write SetVector;
end;
procedure TMatrixModif.SetVector(x,y,z: GLfloat);
begin
FReadVector.x := x;
FReadVector.y := y;
FReadVector.z := z;
end:
Code: Alles auswählen
procedure TMatrixModif.SetVector(x, y, z: GLfloat);
begin
FReadVector[0]:=x;
FReadVector[1]:=y;
FReadVector[2]:=z;
end;
Code: Alles auswählen
Also
function GetVector: TVector;
procedure SetVector(AValue: TVector);
public
property vec3: TVector read GetVector write SetVector;
Code: Alles auswählen
type
vec3 = array[0..2] of Single;
var
v : vec3;
begin
v:= [1, 2, 3];
end.
Code: Alles auswählen
var v : array[0..2] of Single = (1, 2, 3);