GLBASES IL S'AGIT D'UNE UNITÉ FACILITANT LA PROGRAMMATION D'OPENGL SOUS DELPHI

f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 - 20 janv. 2006 à 05:58
delphiriri Messages postés 9 Date d'inscription dimanche 3 août 2003 Statut Membre Dernière intervention 11 mars 2006 - 20 janv. 2006 à 09:18
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/35659-glbases-il-s-agit-d-une-unite-facilitant-la-programmation-d-opengl-sous-delphi

delphiriri Messages postés 9 Date d'inscription dimanche 3 août 2003 Statut Membre Dernière intervention 11 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és 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
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;

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.
Rejoignez-nous