Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mo Jul 07, 2025 18:41

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 23 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Do Apr 10, 2008 18:17 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jan 31, 2007 18:32
Beiträge: 150
Programmiersprache: Pascal
hab ich gamech nun wird die prozedure bei 530 durchlauf der schleife abgebrochen
Code:
  1.  
  2.       TRI_INDICES :
  3.         Begin
  4.           AStream.Read(Count, SizeOf(Word));
  5.           SetLength(Result.Meshs[MeshCount - 1].Normals, Count * 3);
  6.           SetLength(Result.Meshs[MeshCount - 1].Indices, Count * 3);
  7.           For I := 0 To Count - 1 do
  8.             Begin
  9.               AStream.Read(Result.Meshs[I].Indices[I * 3 + 0], SizeOf(Word));
  10.               AStream.Read(Result.Meshs[I].Indices[I * 3 + 1], SizeOf(Word));
  11.               AStream.Read(Result.Meshs[I].Indices[I * 3 + 2], SizeOf(Word));
  12.               AStream.Seek(SizeOf(Word), soFromCurrent); // Bit 0 : CA Visible
  13.                                                          // Bit 1 : BC Visible
  14.                                                          // Bit 2 : AB Visible
  15.             End;
  16.         End;
  17.  


wenn ich sowohl den teil wo indices ,TexCoords und Vertex Daten asugelesen werden auskommentiere läuft der rest der anwendung so weit es möglich ist


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Apr 10, 2008 18:47 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Hast du mal die Bereichsprüfung aktiviert? Hast du es mal im Debugger gestartet um evtl. irgendwelche Exceptions zu bekommen und zu sehen wo da ein Fehler passiert oder steigt er einfach so ohne kommentar aus?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Apr 10, 2008 19:24 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jul 01, 2003 18:59
Beiträge: 887
Wohnort: (The Netherlands)
Programmiersprache: fpc/delphi/java/c#
Be sure to check the type of chunk before reading it. E.g. There are 2 types of color data in 3ds files. Both need to be read differently.
Also when you encounter a MAT_MATRIAL you should check for subchunks. If you do not do this reading of other chunks will also fail. It had me puzzled for a while.

May i ask why you want to write your own 3ds loader? Curiosity? Also you might want to try an easier fileformat first like milkshape ascii.

_________________
http://3das.noeska.com - create adventure games without programming


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Apr 11, 2008 10:46 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jan 31, 2007 18:32
Beiträge: 150
Programmiersprache: Pascal
@Lossy eX
er steigt einfach ohne kommentar aus und verlässt die prozedur zu früh was zu einem späteren Zeitpunkt zu einem Fehler füher das eine Klasse nicht initialisiert wird...
@Noeska
My loader supports byte and float Colors...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Apr 11, 2008 13:13 
Offline
DGL Member

Registriert: Di Jun 06, 2006 09:59
Beiträge: 474
wieso indizierst du die meshes mit I? Macht aus meiner Sicht keinen sinn hier, da I doch über die Dreiecke iteriert.
Aber aussteigen ohne exception kann ich mir kaum vorstellen. Ich würde da eine A/V oder (wenn entsprechende compilersettings an sind) einen fehlgeschlagenen Array-Boundscheck.

_________________
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Apr 11, 2008 13:38 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jan 31, 2007 18:32
Beiträge: 150
Programmiersprache: Pascal
so etwas banales... :(
jetzt funktioniert der Teil schon mal richtig


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Apr 11, 2008 14:10 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jan 31, 2007 18:32
Beiträge: 150
Programmiersprache: Pascal
habs geschaftt... danke für eure Hilfe

mfg FrenK


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Apr 12, 2008 10:25 
Offline
DGL Member

Registriert: Di Jun 06, 2006 09:59
Beiträge: 474
Ich rate dazu beim debuggen immer array-boundschecks, int-overflow checks anzuschalten. Gibt zwar hin und wieder false positives, spart aber im allgemeinen viel Zeit und Nerven. Bei nicht geschwindigkeitskritischen Anwendungen lasse ich sie, da sie auch manche Sicherheitslücken verhindern, meist auch im Releasecode an.

_________________
Bild


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 23 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 15 Queries | GZIP : On ]