Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Motor Común En C#

Iniciado por Haddd, 16 de Septiembre de 2004, 09:43:27 AM

« anterior - próximo »

Haddd

 Falta el manejo de errores. He cargado el archivo que tu mismo has puesto de ejemplo y si te fijas la palabra profundidad está mal escrito, por tanto me ha dado un error.

Pero está realmente bien, y es sencilla de usar. He subido de nuevo el código con la última actualización. También he modificado un poco tu clases. Echale un vistazo y opina!!


Gracias por todo!

Vicente

 Hola,

jejeje, es que el xml lo escribí al vuelo. Es verdad que no puse ni un solo try o catch  :rolleyes:  Cuando me bajo el proyecto veo el código de la versión anterior, no el nuevo... Ya está actualizado? Un saludo,

Vicente

Haddd


Pogacha

 
Citar    public class Vertices : Form
en "vertices.cs"
No deberia llamarse Aplicación o algo por el estilo, como que parece muy sacado de un ejemplo  :P, tambien podrias eliminar ya "tut2_vertices.jpg" y cambiar el nombre al proyecto de "tutorial2".

Una pregunta:
Citarpublic Object objeto;
En "lista.cs", Object es un keyword que vendria a hacer las veces de template?

Por cierto que se necesita para compilarlo?

Pogacha

 Alguna modificacion para la clase Camara, a mi me gusta hacer efectos de lentes  :D

   public class Camara
   {
      ...
       public float Fov;
        ...

       public Camara()
       {
           view=new Matrix();
           projection = new Matrix();
           Fov=(float)Math.PI / 4.0f;

           EstablecerVista(new Vector3(0.0f, 0.0f, 0.0f), new Vector3(0.0f, 0.0f, 1.0f));
           EstablecerProyeccion(1.0f, 100.0f);
       }
       ...

       public void EstablecerProyeccion(float near,float far)
       {
           projection = Matrix.PerspectiveFovLH(Fov, Haddd.video.aspectRatio, near, far);
       }

      ...

Haddd

 Para compilarlo necesitas Vstudio 2005 express C# beta. Está disponible gratuitamente en la página de MSDN.

Lo del objeto, tienes razón, es simular un template. Si puedes mejorarlo..¡adelante!

Lo de la cámara, tomo nota y lo cambio. Por cierto, ¿porqué no te animas y te curras una clase de cámara como toca? (ole)  

Haddd

 He actualizado el proyecto. A ver si le echais un vistazo y comentais. (ole)  

Pogacha

 
CitarLo del objeto, tienes razón, es simular un template. Si puedes mejorarlo..¡adelante!
Tan solo preguntaba por ser ignorante  :P

CitarPara compilarlo necesitas Vstudio 2005 express C# beta.
Ya lo tengo, me falta el sdk de DX, pero en eso estoy.

CitarLo de la cámara, tomo nota y lo cambio. Por cierto, ¿porqué no te animas y te curras una clase de cámara como toca?
No se lo suficiente ni de c# ni de dx como para animarme a tanto, pero vere que puedo hacer.

BeRSeRKeR

 Bueno, pues aquí está mi segunda aportación al motor:



Como podéis ver es Imp, uno de los modelos de Doom3.

He creado dos clases. Una que es un parser genérico para analizar archivos ASCII y otra que se encarga de cargar los modelos y animaciones de Doom3.

Por otro lado (y esto habrá que ver qué os parece), he creado un nuevo método en la clase FicherosX que es CargarDesdeMD5Mesh (esto de los nombres en castellano...). :lol:

En ese método lo que hago es crear un D3DXMesh y relleno el vertex & index buffer con los datos del modelo MD5. Por ahora sólo cargo la geometría. Luego ya me pondré con la animación, que no tengo ni idea de cómo se rellena todo eso utilizando D3DXMeshes (no los había utilizado en mi vida). :D

Bueno, pues cuando modifique unas cosas que están un poco guarras pongo el código.

Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

donald

 la pregunta del cateto :

Lo que hace eso es convertir de md5 a *.x??

Me paso por aquí de cuando en cuando (1 vez cada 3 o 4 meses) ...así que si no respondo a algo no es por antipático. ;) Posteo, y me acuerdo del foro tres meses después... ;)    :-S

BeRSeRKeR

Cita de: "donald"la pregunta del cateto :

Lo que hace eso es convertir de md5 a *.x??
No, pero ahora que lo dices, una vez cargado el MD5 en un D3DXMesh, creo que hay un método que guarda el mesh en formato X. Así que en teoría podría hacerse.

Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

Vicente

 Hola,

Haddd, en el todo pones mejorar el diseño de las clases y tal. Si quieres le echo un ojo, pero una cosa: qué clases pueden considerarse más o menos terminadas? (para no ponerme a retocar algo que luego va a cambiar otra persona ;)). Un saludo!

Vicente

Haddd

 Berserker, no hay ningún enlace al importador de MD5. Tampoco sé si has integrado el cargador o has hecho algo por tu cuenta en C#. Desde luego es una gran aportación, pero si lo has hecho aparte, deberías consensuar un poco para poder integrarlo de forma que a ambos nos parezca lo más correcto.

Vicente, prácticamente lo hago yo solito todo, así que cambia bastante. Lo que está realmente mal es lo de las listas, puesto que como verás utilizo una estructura que es la que realmente inserto. Esto debería hacerse con plantillas...

Me queda poco para terminar el importador de mi maxscript. A ver si lo termino esta tarde/noche y ya podemos tener un banco de pruebas mucho más sólido.

Donal, a ver si te animas y nos mandas un objeto .x de esos que tienen miles de polígonos y quedan super chulos con iluminación per pixel!!!

BeRSeRKeR

 Sí, lo que ves ahí está hecho utilizando el framework que has puesto en el primer mensaje de este hilo. Como he dicho, he creado dos clases (un Parser y el cargador de MD5) y luego he creado un método en FicherosX que es CargarDesdeMD5Mesh que se encarga de crear un D3DXMesh para luego poder renderizar tal y como se hace con el tigre en formato X.

Lo que pasa es que aún no he puesto el código porque se me había olvidado dar soporte para los submeshes, es decir, un md5mesh puede estar compuesto por varios submeshes por lo que tengo que crear varios subsets para el D3DXMesh. El problema lo estoy teniendo ahí precisamente. Estoy creando una AttributeTable con tantas entradas como submeshes y luego asignádosela con Mesh.SetAttributeTable pero no funciona. ¿Tú sabes cómo va eso?.

Bueno, yo sigo probando. En cuanto tenga eso pongo el código.

Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

donald

 
Me encantaría, Hadd, de veras.

pero el tema es que pese a mis largos posts, tengo un "spool"  de cosas que hacer, me refiero a gráficos, a los que ya estoy comprometido y poco a poco voy sacando, pero si me meto en más, ni de coña...

En fin, supongo que si en unos meses estos sigue, igual puedo colaborar entonces :)

Tenía por ahí medio empezado un modelo bastante majo, en alta que pensaba de paso usar para hacer una prueba a nivel personal de normal maps...pero no puede ser, con alta, me pongo tela de perfeccionista, y con todo lo demás que tengo "en cola", no habría manera.

Ya he perdido demasiado el otro día con el cable que le eché a Mars y Ager... ;)

Me paso por aquí de cuando en cuando (1 vez cada 3 o 4 meses) ...así que si no respondo a algo no es por antipático. ;) Posteo, y me acuerdo del foro tres meses después... ;)    :-S






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.