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

Signaler
Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
-
Messages postés
9
Date d'inscription
dimanche 3 août 2003
Statut
Membre
Dernière intervention
11 mars 2006
-
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

Messages postés
9
Date d'inscription
dimanche 3 août 2003
Statut
Membre
Dernière intervention
11 mars 2006

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!)
Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
37
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.