Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Converter Dx -> Haddd + Source Code

Iniciado por Haddd, 10 de Febrero de 2006, 10:31:22 PM

« anterior - próximo »

Haddd

 
Además está hecho con MDX 2.0 , la edición de Febrero ( así que si no la teneis.... <_< )

Pasaos por la página!!

And developed with February MDX 2.0 ( so you will need it!!)

Go to haddd's page

(ole)

 i'm having problems with the converter app. when i try and convert an ascii X file. which was exported from maya 6.01 using feb 2006 directX sdk or  previous dec 2006 (not tried earlier sdk expoters). the app just crashes. well not quiet crash, just an error box with the standard quit or continue buttons.

so what exactly can the converter convert X wise? also i tried a basic cube shape with basic texture (.tga format), no animations. the app still wouldn't work with the file.

Haddd

 I presume that it crashes because you do not have the February edition installed or the .Net 2.0 installed. I don't know how to check it on my program, so if you know...

You say that you use the february exporter, but that is not the requeriments. You MUST install the February edition because i have developed the converter using the MDX 2.0 Beta included on the February edition.

If you have this two editions installed, run the project from the VC# IDE in debug mode, and see why it crashes.

I have converted Dwarf and the airplane without problems.

 line 143 tempareryMesh.ComputeNormals();

following error:

Microsoft.DirectX.Direct3D.InvalidCallException was unhandled
 Message="Error in the application."
 Source="Microsoft.DirectX"
 AdditionalInformation=""
 ErrorCode=-2005530516
 ErrorString="D3DERR_INVALIDCALL"
 StackTrace:
      at Microsoft.DirectX.Direct3D.BaseMesh.ComputeNormals(GraphicsBuffer adjacency)
      at Microsoft.DirectX.Direct3D.BaseMesh.ComputeNormals()
      at Converter.DXConverter.LoadFile(String fullpath) in C:\My Downloads\Haddd\Converter\Tools\Converter\DXConverter.cs:line 143
      at Converter.frmMain.buttonLoad_Click(Object sender, EventArgs e) in C:\My Downloads\Haddd\Converter\Tools\Converter\frmMain.cs:line 45
      at System.Windows.Forms.Control.OnClick(EventArgs e)
      at System.Windows.Forms.Button.OnClick(EventArgs e)
      at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
      at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
      at System.Windows.Forms.Control.WndProc(Message& m)
      at System.Windows.Forms.ButtonBase.WndProc(Message& m)
      at System.Windows.Forms.Button.WndProc(Message& m)
      at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
      at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
      at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
      at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
      at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
      at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
      at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
      at System.Windows.Forms.Application.Run(Form mainForm)
      at Converter.Program.Main() in C:\My Downloads\Haddd\Converter\Tools\Converter\Program.cs:line 17
      at System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args)
      at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
      at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
      at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
      at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
      at System.Threading.ThreadHelper.ThreadStart()

Juan Mellado

 A mi si me exporta bien (el Dwarf por ejemplo), pero a la hora de verlo con el Viewer salta este error:

System.IndexOutOfRangeException: Index was outside the bounds of the array.
  at HadddEngine.Scene.HScene.CreateMeshObjectsToRender()
  at HadddEngine.Scene.HScene.Render()
  at Viewer.HViewer.Render()
  at Viewer.ViewerFrm.timerMotor_Tick(Object sender, EventArgs e)
  at System.Windows.Forms.Timer.OnTick(EventArgs e)
  at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
  at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Algunas cosas del código:

Los \n del final se pueden quitar, ya los pone WriteLine, por lo que aparecen duplicados en el fichero:

file.WriteLine("\tindexOfRefraction 0\n");


Hay un par de líneas un tanto extrañas, ¿cual es la asignación correcta?. En el caso del Dwarf es indiferente, tiene 9 materiales y 9 atributos el mesh:

int numMats = meshMaterials.Length;
numMats = mesh.AttributeCount;


Otra pregunta, ¿no se graban las extensiones de los nombres de las texturas? ¿se supone DDS siempre o haceís un barrido del directorio buscando un ficheo que case?

fileName "Weapons"


En cualquier caso, ¡buen trabajo y ánimo!

Saludos

Haddd

 If you have problems exporting, please, be sure that you have installed the right assemblies.

If you think you have to, please send me the .x to haddd@telefonica.net

But, i give you all the source code. If ComputeNormal y going wrong, it's not my fault... :(

Citar
A mi si me exporta bien (el Dwarf por ejemplo), pero a la hora de verlo con el Viewer salta este error:

Fíjate que incluyo la dll del motor dentro del .rar con el exporter. Asegúrate que esta machaca a la que había antes, puesto que este error es debido a la versión anterior del motor.

Citar
Los \n del final se pueden quitar, ya los pone WriteLine, por lo que aparecen duplicados en el fichero:

Están adrede así, para que esté más clara la separación.

Citar
Hay un par de líneas un tanto extrañas, ¿cual es la asignación correcta?. En el caso del Dwarf es indiferente, tiene 9 materiales y 9 atributos el mesh:

Lo correcto es el nº de atributos, que debería coincidir con el nº de materiales.

Citar
Otra pregunta, ¿no se graban las extensiones de los nombres de las texturas? ¿se supone DDS siempre o haceís un barrido del directorio buscando un ficheo que case?

Exacto, hacemos un barrido. De esta forma puedes trabajar primero con jpg, y luego si queires, ya modificarlos por dds o png y no hay que modificar nada.

(ole)

Juan Mellado

Ok, ahora ya lo carga.

Es que me bajé el motor esta mañana junto con el conversor, he dado por supuesto que estaba todo actualizado.

Y con lo de los \n me refería a que está grabando \n\r\n, y con algunos editores de texto no se ve bien.

Saludos






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.