[D3D9] 3d max material in D3D 9?

Pagina: 1
Acties:

  • peke
  • Registratie: Februari 2002
  • Laatst online: 19-05 15:21
Een collega en ik zijn bezig met een schoolopdracht.
Ik ga niet uitleggen wat dit allemaal omvat maar we hebben nogal wat problemen.
Zo hebben we geen achtergrond met 3d programming en moeten we een demo (gedefinieerd) maken in zowel C++ / D3D als C# / D3D als Java / OpenGL (ook JOGL genoemd) als XNA.

We hebben nu een scene in 3D max en exporteren deze succesvol met Panda direct X exporter naar een .X bestand.
Dit bestand kunnen we renderen in D3D inclusief de textures.
Wat niet lukt is het renderen van de materials (= 3ds max naam voor shaders).
Deze materials werden gedefinieerd in max als zowel "multi/obj" als" direct X shader" zonder succes (triangles blijven zwart in D3D).

Omdat de Panda direct X exporter zowat de enige freeware exporter is gebruiken we die.
Vervelend is dat er geen help file meegeleverd wordt en googlen bitter weinig resultaat oplevert over deze max plugin.

Graag hadden we wat ervaringen en tips gehad van mensen die weten hoe je een material (shader) van 3ds max kan importeren in Direct 3D 9 of in JOGL. (Via een .obj bestand ?)
In direct 3D al dan niet via het .X bestand of een .fx bestand (D3D9 shader definitie in tekstformaat).

  • Wiebbe
  • Registratie: Februari 2001
  • Laatst online: 28-11 17:55

Wiebbe

<none />

Ik weet sowieso nog meerdere X expoters:

A3D (zo heette het dacht ik) is een model programma dat X ondersteund, Milkshape 3d ondersteund zeker weten X voor 9 en 8.

Ik heb vooral in XNA gewerkt, maar ook wat in managed DX. Heb je wel een licht gemaakt op alles te belichten? Ook als zie je alles op de achtergrond er MOET een licht worden toegevoegd!

Oh noes.. No more TreinTijden :(


  • peke
  • Registratie: Februari 2002
  • Laatst online: 19-05 15:21
Ik heb een licht ja, zoniet zou ik sowieso geen textures kunnen zien wat wel het geval is (zie startpost). ;)

Bedankt om deze exporters te noemen, ik zal er straks even mee experimenteren.
Probleem blijft dus hoe je max materials in direct 3d kan krijgen.

  • Oguz286
  • Registratie: Juni 2002
  • Laatst online: 23-11 09:38
Ik weet niet of dit een oplossing is voor je probleem, maar kijk eens hiernaar:

http://www.spacesimulator.net/tut4_3dsloader.html

Hiermee heb ik zelf een c++ demo geschreven die een 3ds-bestand kan laden en het met D3D kan renderen. Moet het persé een .X-bestand zijn? Ik weet trouwens niet of dit ook met XNA zal werken, maar volgens mij heeft de DX-api een paar methodes waarmee je zelf een .X-bestand kan maken. Dus als je gewoon alle data van een 3ds-bestand inleest en het wegschrijft naar .X dan heb je dus een exporter.

Sorry als het geen antwoord is op je probleem, het is voor mij al een tijdje geleden D3D :P Succes!

EDIT: de materials-data zit dus ook in het 3ds-bestand, die kan je ook gewoon uitlezen.

[ Voor 6% gewijzigd door Oguz286 op 18-02-2007 01:11 ]


  • peke
  • Registratie: Februari 2002
  • Laatst online: 19-05 15:21
Het hoeft niet per se .x te zijn nee.
Maar om zelf even een importer te schrijven ... nee daar hebben we echt geen tijd voor.
Ik kan wel een direct 3d shader material exporteren naar een .fx file maar als ik dit voor elke material moet doen zit ik weer met een twintigtal .fx files.
Dan is het ook nog maar de vraag of ik die op de scene krijg.
De snelste oplossing is hier de beste.