delphiriri
Messages postés9Date d'inscriptiondimanche 3 août 2003StatutMembreDernière intervention11 mars 2006 20 janv. 2006 à 09:18
Je te remerçies de ces remarques, il y à en effet des choses a optimiser,je vais en tenir compte! (Je savais bien que GlBases évoluerais!)
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 20 janv. 2006 à 05:58
Type n'a pas besoin d'etre declarer a chaque fois!
Plutot que :
Type TListe = Gluint;
Type TTableau = PByteArray;
Type TCoord = Array[0..3]of TPoint;
Fait :
Type
TListe = Gluint;
TTableau = PByteArray;
TCoord = Array[0..3]of TPoint;
-------------------------------------------------
vus que tu as un type : TCoord = Array[0..3]of TPoint;
ne delcare pas : TPyrCoord = Array[0..4]of Array [0..3]of TPoint; ect...
mais : TPyrCoord = array[0..4] of TCoord;
-------------------------------------------------
Pour :
Type GlCubeColors = record
AvantA,AvantB,AvantC,AvantD,
ArriereA,ArriereB,ArriereC,ArriereD,
DessusA,DessusB,DessusC,DessusD,
DessousA,DessousB,DessousC,DessousD,
DroiteA,DroiteB,DroiteC,DroiteD,
GaucheA,GaucheB,GaucheC,GaucheD:TColors;
end;
Fait plutot :
TColor4Group = record cA,cB,cC,cD : Tcolor; end;
TColor3Group = record cA,cB,cC : Tcolor; end;
Tu peu faire :
for x := 0 to 3 do begin
Result[0,x] := CAvant[x];
Result[1,x] := CArriere[x];
Result[2,x] := CDessus[x];
Result[3,x] := CDessous[x];
Result[4,x] := CDroite[x];
Result[5,x] := CGauche[x];
end;
20 janv. 2006 à 09:18
20 janv. 2006 à 05:58
Plutot que :
Type TListe = Gluint;
Type TTableau = PByteArray;
Type TCoord = Array[0..3]of TPoint;
Fait :
Type
TListe = Gluint;
TTableau = PByteArray;
TCoord = Array[0..3]of TPoint;
-------------------------------------------------
vus que tu as un type : TCoord = Array[0..3]of TPoint;
ne delcare pas : TPyrCoord = Array[0..4]of Array [0..3]of TPoint; ect...
mais : TPyrCoord = array[0..4] of TCoord;
-------------------------------------------------
Pour :
Type GlCubeColors = record
AvantA,AvantB,AvantC,AvantD,
ArriereA,ArriereB,ArriereC,ArriereD,
DessusA,DessusB,DessusC,DessusD,
DessousA,DessousB,DessousC,DessousD,
DroiteA,DroiteB,DroiteC,DroiteD,
GaucheA,GaucheB,GaucheC,GaucheD:TColors;
end;
Fait plutot :
TColor4Group = record cA,cB,cC,cD : Tcolor; end;
TColor3Group = record cA,cB,cC : Tcolor; end;
TGlCubeColors = record
Avant, Arriere, Dessus, Dessous, Droite, Gauche : TColor4Group;
end;
TGlPyrColors = record
Avant,Arriere,Droite,Gauche : TColor3Group;
Dessous :TColor4Group;
end;
ect...
-------------------------------------------------
pour :
Function FillCCouleurs(Couleur:TColors):GlCubeColors; ect...
tu peux faire (en toute logique):
Result.AvantA := Couleur;
-------------------------------------------------
pour :
Function FillTexCoord(CAvant,CArriere,CDessus,CDessous,CDroite,CGauche:TCoord):TCubeCoord;
plutot que (tpoint > tpoint):
Result[0,0].X:=CAvant[0].X;
Result[0,0].Y:=CAvant[0].Y;
Result[0,1].X:=CAvant[1].X;
Result[0,1].Y:=CAvant[1].Y;
Result[0,2].X:=CAvant[2].X;
Result[0,2].Y:=CAvant[2].Y;
Result[0,3].X:=CAvant[3].X;
Result[0,3].Y:=CAvant[3].Y;
ect...
Tu peu faire :
for x := 0 to 3 do begin
Result[0,x] := CAvant[x];
Result[1,x] := CArriere[x];
Result[2,x] := CDessus[x];
Result[3,x] := CDessous[x];
Result[4,x] := CDroite[x];
Result[5,x] := CGauche[x];
end;
en tout cas bon boulot ... ça a l'air pas mal.