• Startseite
  •  » DirectX
  •  » Seltsame Probleme beim Laden von X-Dateien + Clootie-Headern

#1 03.02.2005 22:07:50

Thomas233
Member
Registriert: 24.01.2005
Beiträge: 94

Seltsame Probleme beim Laden von X-Dateien + Clootie-Headern

Hallo,

ich werde nun so dreist sein und euch meine allererste Frage im neuen Forum unterjubeln insofern es mir erlaubt ist.  big_smile

Ich hab ja schon einmal vor kurzer Zeit gefragt (nicht hier) wie es möglich wäre das Dx-Sample-Framework mit Ampaze`s Headern zu verwenden.

Da mir die einzige Möglichkeit, also das Framework von C nach Delphi zu konvertieren und an die Header von Ampaze anzupassen viel zu Aufwändig erschien und ich das Rad nicht neu erfinden wollte bin ich kurzerhand auf die Header von Clootie umgestiegen, damit es da keine Probleme mehr gibt.

Glücklicherweise waren nur einige wenige Anpassungen nötig und alles funktioniert nun problemlos, bis auf die Unit an der viel geändert werden musste, nähmlich der Klasse für die X-Modelle.

Wenn ich nun versuche so ein Modell herein zu laden (was mit den Headern von Ampaze problemlos geklappt hatte) klappt das nicht da alle Buffer "genilt" bleiben, d.h. es kommt zu einer Exception.

Code:

//Variablen
var  
  D3DBufferAdja,
  D3DBufferMaterial,
  D3DBufferEffect:PID3DXBuffer;

  NumMaterials:PDWord;
  Mesh: ID3DXMesh;

  Materials:pD3DXMaterialArray;
  Textures: array of IDirect3DTexture9;

// Hereinladen des Modells
procedure LoadfromXFile(filename:string;transparentcolor:TD3DColor);
D3DXLoadMeshFromX(PChar(filename),D3DXMESH_MANAGED,d3d9device,D3DBufferAdja,D3DBufferMaterial,D3DBufferEffect,NumMaterials,Mesh);

Materials:= D3DBufferMaterial.GetBufferPointer; //Bleibt alles auf "nil"
SetLength(Textures,NumMaterials);

for i:=0 to (NumMaterials-1) do
 Textures[i]:=LoadTexture(ExtractFilePath(filename)+materials^[i].TextureFilename,transparentcolor);

end;



Ich musste an der D3DXLoadMeshFrom-Funktion die Übergabe der Parameter ändern, da die Buffer als Pointer zu übergeben sind und die NumMaterials-Variable ebenfalls als Pointer auf ein DWORD zu übergeben ist (enstpricht auch dem aktuellstem Dx-Sdk).

Habt ihr vielleicht eine Idee (das Modell existiert auf jeden Fall und ist im richtigen Format gespeichert) ?  :?

Vielen Dank schonmal im Vorraus !

Mit freundlichen Grüßen,
Thomas

Code:


Liebe Grüße,
Thomas
---------------
http://www.weirdhospital.de.vu

Offline

 

#2 04.02.2005 00:51:20

MexDelphi
ProMember
Ort: Göppingen
Registriert: 24.01.2005
Beiträge: 235
Web-Seite

Re: Seltsame Probleme beim Laden von X-Dateien + Clootie-Headern

Hi,

Ich orakle mal ... weil ich vor einiger Zeit ein ähnliches Problem hatte ...

nimm den ID3DXBuffer und im Funktionsaufruf dann @D3DBufferAdja

Du musst bei den Clootie Headern aufpassen, wann du was mit einbindest - es gibt viele Doppeldeklarationen von allen möglichen Strukturen in
D3DX9 <-> Direct3D9 und den anderen auch hin und wieder ... meist hilft ein entfernen von D3DX9 .. ist ja nicht immer notwendig  :mrgreen:


goto: http://mexdelphi.cybton.com

Offline

 

#3 04.02.2005 11:59:45

Thomas233
Member
Registriert: 24.01.2005
Beiträge: 94

Re: Seltsame Probleme beim Laden von X-Dateien + Clootie-Headern

Hi Mex,

also an der Übergabe der Parameter kanns eher weniger liegen, da habe ich schon alles mögliche versucht.

Eine Doppeldeklaration könnte durchaus sein da ich mir nicht sicher war welche Units ich einbunden muss und ich deswegen einfach mal alle reingenommen habe. Die D3DX9 kann ich natürlich nicht weglassen, da sind ja die Mesh-Funktionen drinnen ;-)

BTW: Mein Delphi hat öfters die totalen Spinner bei der X-Klasse, da kann man z.b. einfach irgendeinen Text in den Code irgendwo reinschreiben und Delphi compiliert trotzdem, merkt das nicht mal (z.b. habe ich einmal versehentlich "BufferAdja" beim Funktionsaufruf verwendet obwohl oben nur "D3DBufferAdja" deklariert war).
Manchmal lässt es beim compilieren auch einfach so eine Zeile aus (die wird dann beim Ausführen direkt übersprungen).

Seltsam, einfach nur seltsam !  :blues:

Vielen Dank für den Tipp, ich werd mal schauen was da los ist.

Mit freundlichen Grüßen,
Thomas


Liebe Grüße,
Thomas
---------------
http://www.weirdhospital.de.vu

Offline

 

#4 04.02.2005 12:41:02

MexDelphi
ProMember
Ort: Göppingen
Registriert: 24.01.2005
Beiträge: 235
Web-Seite

Re: Seltsame Probleme beim Laden von X-Dateien + Clootie-Headern

Hi

Zitat:

also an der Übergabe der Parameter kanns eher weniger liegen

äh .. das nicht, aber du legst einen PID3DXBuffer an ... und unser Freund Clootie hat so seine Probleme mit den Pointern ... die funktionieren bei mir zum Grossteil nicht - und ich meine mich zu erinnern dass ID3DXBuffer einmal ohne Pointer in den Headern deklariert war, und einmal mit ... (gestern hatte ich übrigens noch das gleiche mit DWORD .. das hat er nämlich in irgendeinem Header auch nochmal drinn) smile

MexDelphi


goto: http://mexdelphi.cybton.com

Offline

 

#5 04.02.2005 15:13:10

artzuk
GodlikeMember
Ort: Leipzig
Registriert: 24.01.2005
Beiträge: 1164

Re: Seltsame Probleme beim Laden von X-Dateien + Clootie-Headern

nuja - Clootie ...

Du musst die Pointer so anlegen. Z.B. für Texturen:
PTextureArray = ^TTextureArray;
TTextureArray = array[0..0] {!!!} of IDirect3DTexture9;

ist etwas strange ...

@Delphi: Teste mal deine Lizenz  :mrgreen:


Mein kleiner .NET Blog: http://artzuk-interactive.de/

Offline

 

#6 04.02.2005 17:34:53

Thomas233
Member
Registriert: 24.01.2005
Beiträge: 94

Re: Seltsame Probleme beim Laden von X-Dateien + Clootie-Headern

Hi,

@artzuk:
Also das mit dem Texturarray kapier ich jetzt nicht wirklich, das wäre ja sinnlos es so zu deklarieren (da mach ich doch gleich einen Pointer auf eine Textur).

Mit der Lizenz von Delphi hab ich keine Probs, ist ja eh nur Personal ;-)

@Mex:
Ok, werde es probieren.

Danke !

Mit freundlichen Grüßen,
Thomas Tschofenig


Liebe Grüße,
Thomas
---------------
http://www.weirdhospital.de.vu

Offline

 

#7 04.02.2005 17:54:45

artzuk
GodlikeMember
Ort: Leipzig
Registriert: 24.01.2005
Beiträge: 1164

Re: Seltsame Probleme beim Laden von X-Dateien + Clootie-Headern

@Delphi: Hast du Delphi7 Personal? ... Also die habe ich ja auch und bei mir kommen so einige Fehler (mal kann ich keine Leerzeichen machen, mal sind die sonderzeichen woanders auf der Tastatur) ... und neulich kommt öfters mal unten "Delphi7 Lizens ungültig oder abgelaufen" (zumindest so etwas in der Art) und der erkennt einfach keine Fehler mehr und kompiliert gar nicht mehr ... aber ausführen kann ich noch ... wie gesagt - Personal Edition.

@Pointer: Das ist Clootie. Versuch es einfach mal, denn ich dachte mir - als ich so Anfänger war, dass mir nur Clootie bekannt war - auch so "was für Schmarn ist denn das", aber nur so ging es.
Lade dir einfach mal die AnfängerSamples von Clootie runter ...


Mein kleiner .NET Blog: http://artzuk-interactive.de/

Offline

 

#8 04.02.2005 18:45:47

Coolcat
ProGuru
Ort: Aachen, NRW
Registriert: 24.01.2005
Beiträge: 2780
Web-Seite

Re: Seltsame Probleme beim Laden von X-Dateien + Clootie-Headern

Code:

TTextureArray = array&#91;0..0&#93; &#123;!!!&#125; of IDirect3DTexture9; 



Was is den das bitte?  :rock:
Kann es sein, dass das für eine uralt DelphiVersion ist, in der es noch keine Typerisierten Pointer gab und er es irgendwie Typesave machen wollte?

Coolcat


My software never has bugs. It just develops random features.

Offline

 

#9 04.02.2005 18:50:37

MexDelphi
ProMember
Ort: Göppingen
Registriert: 24.01.2005
Beiträge: 235
Web-Seite

Re: Seltsame Probleme beim Laden von X-Dateien + Clootie-Headern

Also ich hab hier im Moment nur D7 Personal installiert ... mit dem letzten Patch ... tja ... da gibts einiges zu meckern .. Bugs ohne ende ...  Die Fehlererkennung fällt bei mir auch ab und zu aus ... Neustart von Delphi hilft aber immer ...  Seit ich meine Auslageungsdatei von Windows auf eine feste Grösse limitiert habe, hatte ich dieses Problem aber nicht mehr - obs das allerdings wirklich ist , oder nur ein Zufall ... kommt Zeit .. kommt Absturz ... :p


goto: http://mexdelphi.cybton.com

Offline

 

#10 04.02.2005 18:54:22

MexDelphi
ProMember
Ort: Göppingen
Registriert: 24.01.2005
Beiträge: 235
Web-Seite

Re: Seltsame Probleme beim Laden von X-Dateien + Clootie-Headern

@coolcat

Zitat:

...er es irgendwie Typesave machen wollte?

jep ... die Header gibts ja auch schon ne weile smile und ich vermute mal am Anfang war auch nicht alles perfekt ... tja .. leider sind viele Fehler noch drinn ... aber erfreulicherweise werden es doch von Version zu Version weniger smile


goto: http://mexdelphi.cybton.com

Offline

 

#11 04.02.2005 19:12:32

artzuk
GodlikeMember
Ort: Leipzig
Registriert: 24.01.2005
Beiträge: 1164

Re: Seltsame Probleme beim Laden von X-Dateien + Clootie-Headern

Hier das Sample von Clootie, welches ich "besitze" big_smile


Attachments:
Attachment Icon Tut06_Meshes.rar, Größe: 72,476 bytes, Downloads: 546

Mein kleiner .NET Blog: http://artzuk-interactive.de/

Offline

 

#12 04.02.2005 20:47:33

Coolcat
ProGuru
Ort: Aachen, NRW
Registriert: 24.01.2005
Beiträge: 2780
Web-Seite

Re: Seltsame Probleme beim Laden von X-Dateien + Clootie-Headern

Hm, exe war eigentlich erlaubt...hat wohl einer aus gemacht....
(wir sind ein Progra-Forum, wir erstellen Anwendungen, sollte man da nicht auch EXE'n hochladen dürfen?)

Coolcat


My software never has bugs. It just develops random features.

Offline

 

#13 04.02.2005 20:52:33

MexDelphi
ProMember
Ort: Göppingen
Registriert: 24.01.2005
Beiträge: 235
Web-Seite

Re: Seltsame Probleme beim Laden von X-Dateien + Clootie-Headern

Hi,

die Aktuelle Version ist:

http://clootie.narod.ru/delphi/DirectXE … Meshes.zip

EnhancedMesh,  OptimizedMesh progressiveMesh und der Klassiker SkinnedMesh ... alle da ... und wenn ihr schon dort vorbeischaut ... zieht euch auch gleich die neue Version der Header und common.zip für das Sample DirectX Framework mit den aktuellen dll´s  :mrgreen:


goto: http://mexdelphi.cybton.com

Offline

 

#14 04.02.2005 22:45:25

artzuk
GodlikeMember
Ort: Leipzig
Registriert: 24.01.2005
Beiträge: 1164

Re: Seltsame Probleme beim Laden von X-Dateien + Clootie-Headern

what?


Mein kleiner .NET Blog: http://artzuk-interactive.de/

Offline

 

#15 05.02.2005 08:25:19

JorEl
ExtremeMember
Registriert: 29.01.2005
Beiträge: 894

Re: Seltsame Probleme beim Laden von X-Dateien + Clootie-Headern

Zitat:

Hast du Delphi7 Personal? ... Also die habe ich ja auch und bei mir kommen so einige Fehler (mal kann ich keine Leerzeichen machen, mal sind die sonderzeichen woanders auf der Tastatur)

Den Bug mit den Leerzeichen hatte ich auch bei meiner Delphi 7 Pro. Set dem Update auf 7.1 ist es allerdings bisher nicht mehr aufgetreten.


Jesus hat gesagt - selig sind die, die da Leid erfahren, denn sie sollen getröstet werden... Ford Prefect hat gesagt - es ist unheimlich wichtig, dass wir miteinander reden und einen trinken.

Offline

 

#16 05.02.2005 10:23:32

artzuk
GodlikeMember
Ort: Leipzig
Registriert: 24.01.2005
Beiträge: 1164

Re: Seltsame Probleme beim Laden von X-Dateien + Clootie-Headern

Gibts eigentlich schon ne Personal von Delphi2005?


Mein kleiner .NET Blog: http://artzuk-interactive.de/

Offline

 

#17 06.02.2005 11:54:47

maximov
Member
Ort: Hamburg
Registriert: 25.01.2005
Beiträge: 84

Re: Seltsame Probleme beim Laden von X-Dateien + Clootie-Headern

Zitat:

Gibts eigentlich schon ne Personal von Delphi2005?

Laut einem mitglied der DelphiPraxis, der bei borland gefragt hat, soll sie ende Februar kommen *freu* Und die lizenz wird vermutlich auch kommerzielle nutzung, für einzelpersonen, erlauben.


maximov (aka maDXam or IDKFA)

Offline

 

#18 11.02.2005 12:41:07

Thomas233
Member
Registriert: 24.01.2005
Beiträge: 94

Re: Seltsame Probleme beim Laden von X-Dateien + Clootie-Headern

So, ich weiss jetzt zwar nicht wie ihr auf Delphi 2005 PE gekommen seit aber dank des Beispiel das Artzuk da hochgeladen hat geht das Laden der X-Dateien jetzt bei mir wieder (und das tästsächlich mir dem einen "Fake-Array").

Vielen Dank !

Liebe Grüße,
Thomas


Liebe Grüße,
Thomas
---------------
http://www.weirdhospital.de.vu

Offline

 

#19 11.02.2005 14:10:18

artzuk
GodlikeMember
Ort: Leipzig
Registriert: 24.01.2005
Beiträge: 1164

Re: Seltsame Probleme beim Laden von X-Dateien + Clootie-Headern

Sag ich doch - Clootie big_smile ... hatte doch auch mit diesen Units angefangen und kenne daher jetzt einige komischen Dinger


Mein kleiner .NET Blog: http://artzuk-interactive.de/

Offline

 
  • Startseite
  •  » DirectX
  •  » Seltsame Probleme beim Laden von X-Dateien + Clootie-Headern

Brett Fußzeile

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson