Miért nem működik ez a Pascal Constructor?
a teljes cuccot le lehet tölteni innen: [link]
(ezzel modelleket lehet "használni" openGL-ben)
namost amikor a következő sorhoz ér a program(a model3DS.pas-ban) :
251: FMaterial[mcount - 1] := FMaterialclass.Create(self);
external: SIGSEGV-et kap, ha kiveszem, akkor
a következő sornál esik hasra:
460: FMesh[acount - 1] := FMeshClass.Create(self); //create
itt egy kicsit nagyobb részlet, (de a file-ban minden benne van):
MAT_MATNAME:
begin
inc(mcount);
setlength(FMaterial, mcount);
FNumMaterials := FNumMaterials + 1;
FMaterial[mcount - 1] := FMaterialclass.Create(self); //ez az a sor
FMaterial[mcount - 1].Name := '';
FMaterial[mcount - 1].Transparency := 1.0;
FMaterial[mcount - 1].HasTextureMap := false;
FMaterial[mcount - 1].HasBumpMap := false;
FMaterial[mcount - 1].HasOpacMap := false;
chrbuf := 1;
utána gondolom nem érdekes már
FreeGLUT-ot használok az OpenGL-hez, és eddig minden jól ment, az eredeti gl3ds-el, csak az kicsit elavult volt, ez a frissített verziója, illetve néhány dolgot még újraírtak benne
jah és itt a constructor-ja:
constructor TBaseMaterial.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FDifR := 1.0;
FDifG := 1.0;
FDifB := 1.0;
FIsDiffuse := False;
FAmbR := 0.0;
FAmbG := 0.0;
FAmbB := 0.0;
FIsAmbient := False;
FSpcR := 0.0;
FSpcG := 0.0;
FSpcB := 0.0;
FIsSpecular := False;
FShininess:=0.0;
FHasTextureMap := False;
FTransparency := 1.0;
end;
az egész megkapta {$MODE Delphi} direktívát, lehet, hogy az is bekavar, de nem hiszem
alapból nem mindegyik kapta meg, de ez se változtat a helyzeten
Hasonló FreeGlut-os gond: http://www.gyakorikerdesek.hu/szamitastechnika__programozas_..
Lehet, hogy neked is a frissített verzió okoz gondot ?
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!