Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Menu

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menu

Mensajes - Manu343726

#151
Proyecto dx_lib32 / Re: Motor3D y dx_lib32: El renacimiento
27 de Febrero de 2012, 12:22:28 PM
Entiendo tu razonamiento, el problema es que no lo puedo aplicar. La estructura del motor está diseñada de manera que el pipeline gráfico únicamente se inicie si ocurre alguna modificación de la escena (Los rombos marrones). La idea original era que la escena solo se renderizara al final de dicho proceso, es decir, el renderizado solo se ejecuta al ocurrir alguna modificación. Éste método contrasta con el funcionamiento de un renderer normal, en el que el renderizado normalmente se realiza contínuamente. (Hay que tener en cuenta que mi biblioteca se apoya en operaciones de dibujo externas)

Para "casar" el pipeline con dx_lib32, el dx_lib32Renderer contiene una lista de primitivas, que son dibujadas contínuamente en el bucle de dx_lib32. Dicha lista es modificada autmáticamente al finalizar el pipeline.  Y aquí está el problema: Si las modificaciones son constantes, dicha lista se actualiza contínuamente. Como el motor no es multihilo, el proceso de actualización de la lista roba tiempo al bucle de renderizado.

Conclusión: Muchas actualizaciones = 0 tiempo de renderizado.
#152
XNA / Bibliotecas de juego y otras
27 de Febrero de 2012, 12:46:03 AM
 Buenas.

Estoy empezando con XNA y tengo un par de problemas en el desarrollo de juegos para XBOX360:
Si agrego alguna referencia a una biblioteca externa en un proyecto XBOX360Game, no me es posible importar los espacios de nombres de dicha biblioteca. Más aún, si la referencia es a una biblioteca de juego de XBOX360 que pertenece a la solución tampoco me deja.
Cual es el problema???
#153
Proyecto dx_lib32 / Re: Motor3D y dx_lib32: El renacimiento
26 de Febrero de 2012, 09:35:38 PM
Bueno bueno, hay que ver la que he montado....tomo nota: Ojo con los timers.

Sobre la solución propuesta, es más complicado de lo que parece: Uno de los fundamentos que tuve en mente a la hora de reescribir el motor fue que la escena solo se renderice si ocurre algún cambio, de manera que el pipeline de renderizado tiene diferentes puntos de entrada, dependiendo del tipo de modificación (Una transformación sobre un poliedro, un movimiento de la cámara, o un cambio en un foco, por ejemplo).

Para ayudar con la explicación, he hecho un par de diagramas:



El problema de éste método está en que no es compatible completamente con un renderizado contínuo, como es el caso de dx_lib32.
En el caso del dx_lib32Renderer, éste contiene una lista de primitivas obtenidas a partir del ZBuffer (Que no son más que grupos de triángulos, quads con el último vértice repetido para su uso en DRAW_Trapezoid [En un futuro DRAW_VertexMap, para el cubito de Hechelion,jeje])

Es ésta lista la que es dibujada en el bucle de renderizado de dx_lib32, pero si se hacen modificaciones contínuas de dicha lista (como en el caso de una animación), no se llega a redibujar. No es tanto un problema de tiempo entre cada iteración del bucle, sino más del tiempo entre transformación y transformación. Y claro, eso si que no puedo cambiarlo, ya que es totalmente independiente del motor.
#154
Proyecto dx_lib32 / Re: Motor3D y dx_lib32: El renacimiento
25 de Febrero de 2012, 01:14:51 AM
Muchas gracias por los comentarios!
He de admitir que después de tanto trabajo es una gran satisfacción que alguien valore el esfuerzo...

Sobre lo de los videos, estoy trabajando en ello. Tengo el mismo problema de parpadeo que ya comenté en la versión 1.0. Ya le encontraré alguna solución. Ah por cierto, lo del cubo con texturas no se me ha olvidado....XD

Tengo un par de dudillas:
Mi principal problema es que el render actualiza la lista de poliedros a redibujar más rápido que el bucle de renderizado, y si tengo actualizaciones continuadas (Como una animación, por ejemplo) no llega a refrescar la pantalla. Se redibuja al parar la animación.
Alguna idea???

Otra cosa: Predeterminadamente, donde se define el centro de dibujo? Supongo que como siempre en la esquina superior izquierda, pero no estoy seguro porque me ha dado problemas.

Gracias

PD: Si me facilitáis alguna dirección de correo, publico la carpeta del proyecto de mi dropbox, así tenéis acceso al código y los cambios automáticamente. Si no por ahora: http://www.mediafire.com/?fw47qr1y4xgcpvf
Si no me equivoco, todos los proyectos de prueba son sobre GDI+, tuve que reescribir el render de dx_lib32 desde cero. Pero por lo menos sirve para echar un vistazo.
#155
Proyecto dx_lib32 / Motor3D y dx_lib32: El renacimiento
24 de Febrero de 2012, 09:29:23 AM
HOLA!!!
Hacía mucho tiempo que no me pasaba por aquí. No me gusta dar malas noticias XD.
Así que hoy, que tengo unas muy buenas, he decidido soltarlas cuanto antes:
Tras trastear durante mucho tiempo con los archivos de configuración de Visual Studio conseguí arreglar mi problema con dx_lib32. Así que ya la he integrado totalmente en la versión 2.0 de mi Motor3D. Aquí os dejo algunas capturas:

Test de renderizado sobre dx_lib32:


Test de colisión mediante octree:


Test de intersección recta-octree:


La versión 2.0 tiene las siguientes nuevas características:
- Reorganización completa de la biblioteca mediante una ordenada jerarquía de clases y espacios de nombres.
- Álgebra matricial y resolución de sistemas de ecuaciones.
- Objetos matemáticos para tratamiento de geometría en 2D y 3D, incluido cálculo de intersecciones, posiciones relativas distancias, etc.
- Camara3D y 2D para un cómodo tratamiento de la escena (Con proyección cónica, por fin, en el caso de la 3D), incluyendo frustum clipping, viewport clipping y backface culling.
- Características de material para el shader a nivel de polígono (En el caso de la primera versión, dichas características eran comunes a todos los objetos)
- Reorganización del cálculo de transformaciones, incluyendo rotación mediante cuaterniones (Adiós al gimbal lock!).
- Detección de colisiones mediante AABBs y octrees (beta XD).

Como es lógico, el motor gráfico y el render los desarrollo únicamente por entretenerme, pero las estructuras de datos y las herramientas de cálculo si que son de utilidad. Cualquiera que desee utilizar la librería es libre de hacerlo.

Espero que os guste!!!
#156
Proyecto dx_lib32 / Re: Error de argumento
30 de Diciembre de 2011, 05:15:34 PM
Parece que nos vamos encaminando.....pero no me deja cambiarlo!!!
La opción estádesabilitada: http://img233.imageshack.us/img233/9284/screenhunter01dec301711.gif

Alguna idea???
#157
Proyecto dx_lib32 / Re: Error de argumento
29 de Diciembre de 2011, 01:07:37 PM
Cita de: [EX3] en 27 de Diciembre de 2011, 05:07:17 PM
El error te lo marca exactamente en esa funcion?

Si. En DRAW_VertexMap y DRAW_Trapezoid.
No se.... creo que va ha ser un problema de la referencia a la biblioteca en los proyectos. Normalmente,cuando incluia dx_lib32 en los proyectos, VS lo configuraba automáticamente con copia local de la dll de interoperabilidad COM que genera.
Me he fijado que en los proyectos que me dan problemas no hace ésta copia local...puede ser eso???
Hay alguna manera de cambiar la configuración del proyecto y activar la copia local???
#158
XNA / Dibujar sprite
27 de Diciembre de 2011, 04:10:00 PM
Hola
Quería saber si existe alguna manera de dibujar un sprite definiendo sus cuatro vertices.
#159
Proyecto dx_lib32 / Re: Error de argumento
27 de Diciembre de 2011, 02:50:06 PM
Eso pensaba yo, que era un error mio, pero como os dije antes, cree otro proyecto WindowsForms y copié el código del tutorial tal cual, sin modificar una sola linea, y al ejecutarlo también me lanza el error.
#160
Proyecto dx_lib32 / Error de argumento
26 de Diciembre de 2011, 04:31:10 PM
Buenas.
LLevo bastante tiempo teniendo problemas con la llamada a las funciones DRAW_VertexMap y DRAW_Trapezoid, las cuales desde hace unas semanas me lanzan excepciones del tipo "INVALIDARGUMENTEXCEPTION". No le di mucha importancia, pensando que había metido la pata con el array de vertex o el specular; pero ya estoy un poco mosca.

Hoy a sido la gota que colma el vaso: Desesperado, he copiado el código TAL CUAL del tutorial 08 de dx_GFX_class, y cual es mi sorpresa cuando veo que también me lanza la dichosa excepción.

Lo más desconcertante de todo, es que si ejecuto algún proyecto de hace tiempo funciona perfectamente....podría ser algún problema con el compilador???
#161
Proyecto dx_lib32 / Re: Futuro del foro
22 de Diciembre de 2011, 08:40:17 PM
GRACIAS!!! XNA y VB instalado y funcionando...
#162
Proyecto dx_lib32 / Re: Futuro del foro
22 de Diciembre de 2011, 07:14:53 PM
Gracias!
Ahora mismo empiezo la instalación

PD: Me recomiendas algún tutorial para empezar con XNA ??? (Si es posible VB)
#163
Proyecto dx_lib32 / Re: Futuro del foro
21 de Diciembre de 2011, 05:12:50 PM
Bueno, igual las cosas no están tan mal como yo pensaba XD.
Solamente la rapidez con la que me habéis contestado es buena señal....

Yo seguiré pasando por aquí, preguntando dudas y mostrando mis progresos.

PD: Sobre lo de XNA y VB estoy al tanto, pero he tenido siempre problemas. Hace tiempo lo intenté instalar, pero la extensión para VB solo era válida para Visual Studio Proffesional....o eso me pareció a mi.

Ahora que estoy en la universidad, estoy adscrito al MSDNAA y puedo descargarme VS Profesional de manera gratuita.
Podríais ayudarme a instalar XNA para VB????
#164
Proyecto dx_lib32 / Futuro del foro
20 de Diciembre de 2011, 10:16:29 PM
Buenas.
Me gustaría saber cuales son las espectativas de futuro de éste foro. Digo ésto porque he notado un descenso en su actividad (hasta tal punto que a veces pienso que solo entro yo XD), y me gustaría no quedarme solo, ya que utilizo (y seguiré utilizando durante mucho tiempo) dx_lib32.

Ahora que me he decidido a desarrollar un juego en serio, no quiero quedarme tirado con mi principal herramienta de trabajo!!!!


PD: Para cuando el código de dx_lib32??? Tengo ganas de meterle mano  >:D
#165
Proyecto dx_lib32 / Colisión recta-voxel
18 de Diciembre de 2011, 10:39:43 PM
Alguien sabe como detectar si una recta pasa por un voxel???
Estando en 3D, una recta definida en el espacio cartesiano (de manera paramétrica o como corte de planos, me da igual) y un voxel, éste definido mediante su posición y sus dimensiones.






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.