Autor Tema: Bennu GD - Open 3D module  (Leído 11730 veces)

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12541
  • Karma: 370
Re: Bennu GD - Open 3D module
« Respuesta #45 en: Enero 18, 2010, 02:37:23 pm »
a mi me gustaria tener una variable local a un proceso llamada "model" o algo asi, y que ahi tengas el id de un modelo 3d cargado, y que el engine se encargue de dibujarlo, tomando las variables del proceso x, y, z, size, etc... que tenga sus puntos de control, etc.
Y que se puedan cargar mundos tipo map, donde el proceso va a moverse... si tenemos eso seria fantastico.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5563
  • Karma: 125
    • GECA soft
Re: Bennu GD - Open 3D module
« Respuesta #46 en: Enero 18, 2010, 06:38:08 pm »
Si, así esta echo. En mi engine tenia varios modelos, aqui lo que voy hacer es que lo mismo, pero con tantos id's como cargas uno ponga, como ocurre con las musicas o demás gráficos en Bennu, cada modelo tendra su id y podras cargar tantos cuantos se pueda. En mi engine tenia unos 10 pero el limite será la potencia de tu pc como es lógico. Un id por carga/modelo.

Windgate

  • Hero Member
  • *****
  • Mensajes: 2930
  • Karma: 124
    • TRINIT Asociación de Informáticos de Zaragoza
Re: Bennu GD - Open 3D module
« Respuesta #47 en: Enero 18, 2010, 07:47:15 pm »
Lo de las locales para los modelos: En Bennu3D yo uso file para el modelo y graph para la textura, pero luego siempre me añado además unas LOCAL más, para la posición y para la rotación 3D, estas últimas son todo float :P
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5563
  • Karma: 125
    • GECA soft
Re: Bennu GD - Open 3D module
« Respuesta #48 en: Enero 18, 2010, 08:53:46 pm »
He estado trasteando unas horillas más, y no estoy contento, pongo el resumen:

1 - No hay conflictos con el mod_video, pero si lo usas (he probado poniendo el ejemplo 3D en un juego Bennu ya echo), el programa te crea 2 ventanas separadas, una generada por open gl y otra por bennu. Tampoco seria problema si se usara sólo la de open gl pero que pudiera pintar en ella cosas de bennu.

2 - El loop del ejemplo 3d se sobrepone a todo, no deja que el programa de bennu reacione, por ejemplo a los comandos de botones definidos, como por ejemplo para hacer un let_me_alone y matar la funcion 3d.

3 - Lo unico que parece comunicarse, es que si llamas una funcion de bennu antes del ejemplo, que tenga un let_me_alone, esta si mata al proceso 3D, y ya no se ejecuta (pero como comente si este se llama antes, y lo intentes matar despues con un temporizador no lo hace, o sea, despues de vivo el proceso 3D controla todo lo démas, y si le doy al exit, con la tecla 'q' definida en el ejemplo 3d, se sale de las 2 pantallas y cierra toda la aplicación)

En resumen, como Open Gl controla las ventanas y se crea las suyas, lo tengo complicado para poder 'embutir' en una misma pantalla, funciones Open GL y funciones de bennu.... Se aceptan sujerencias, lo que pienso poder controlar por ahora es intercalar en una misma ejecución partes echas con bennu y partes echas con open gl, pero en ventanas distintas...

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12541
  • Karma: 370
Re: Bennu GD - Open 3D module
« Respuesta #49 en: Enero 18, 2010, 09:44:52 pm »
tenes que reemplazar el engine, el sistema de eventos, y otras cosas mas...

no es tan simple, pero si vos haces toda la parte del 3D, lo demas lo puedo integrar yo.

lo que se necesitan son funciones simples para crear modelos como objetos, moverlos, posicionarlos en un mapa 3D...

luego el tema es que se tienen que integrar como procesos bennu, y hay que barrer la lista de procesos para renderizarlos o actualizarlos.

con respecto a dibujar solo el render bennu, eso no sera posible, lo que hay que hacer es un render 2d usando opengl.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5563
  • Karma: 125
    • GECA soft
Re: Bennu GD - Open 3D module
« Respuesta #50 en: Enero 18, 2010, 10:01:21 pm »
Vale, yo sigo entonces creando funciones 3D sobre Open GL y despues cuando la cosa este más completa, te pones con su integración.

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12541
  • Karma: 370
Re: Bennu GD - Open 3D module
« Respuesta #51 en: Enero 18, 2010, 10:18:37 pm »
si quieres por ahora olvidate del tema de los modelos como locales, solo crea modelos, muevelos, etc... en 1 pantalla (la del opengl, va bien)

con respecto a los eventos de teclado, mouse, etc... solo captura los de SDL y cuando estas con foco en la ventana de SDL.

si tienes codigo para irme pasando, cuando tenga un hueco de tiempo puedo ir viendo como podria integrarse o incluso quizas tirarte algunos tips que puedan servir para una buena integracion...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5563
  • Karma: 125
    • GECA soft
Re: Bennu GD - Open 3D module
« Respuesta #52 en: Enero 18, 2010, 10:49:06 pm »
Este fin de semana a ve si termino algo, despues ya te comento, que tb ando liadillo.  ;D

FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5563
  • Karma: 125
    • GECA soft
Re: Bennu GD - Open 3D module
« Respuesta #53 en: Enero 18, 2010, 10:51:18 pm »

con respecto a los eventos de teclado, mouse, etc... solo captura los de SDL y cuando estas con foco en la ventana de SDL.


Si te refieres que los eventos de bennu sólo funcionan si tienes su ventana focada, pues es que no funcionaban, yo tenia unmenu de opciones al ejecutar la ventana open gl, y la de bennu no respondia al teclado, me imagino que el loop de la otra hacia que no respondierá....

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12541
  • Karma: 370
Re: Bennu GD - Open 3D module
« Respuesta #54 en: Enero 18, 2010, 11:01:57 pm »
los eventos deberian ir si tenes enfocada la ventana de bennu, no la de opengl... pero bueno, si estas en el modulo opengl en un loop, entonces bennu no esta funcionando hasta que salgas de ese loop... a menos que ese loop este en un thread...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5563
  • Karma: 125
    • GECA soft
Re: Bennu GD - Open 3D module
« Respuesta #55 en: Enero 25, 2010, 08:18:30 pm »
Lo tengo paradillo, ya que fin de semana no lo he podido tocar, pero os pongo el resultado de esta media hora que le he dedicado:

He separao el ejemplo en algunas funciones, el mismo ejemplo de la foto ahora quedaria así en el prg:


BEGIN
    set_gl_window_mode(320, 240, 10, 10, "Open 3D - Demo");
    draw_gl_models();
    gl_loop();
END

Ahora me falta subdividir la draw_gl_models y poner las funciones del teclado tambien separadas. Aparte de la otra parte que llevo en paralelo que es la carga y visualización de modelos texturizados 3ds.

Le tengo que pegar con ganas y dejar de poner cuenta gotas por aqui  ;D

grisendo

  • Full Member
  • ***
  • Mensajes: 205
  • Karma: 22
  • Aprendiz de todo, maestro de nada
    • http://www.grisendo.com
Re: Bennu GD - Open 3D module
« Respuesta #56 en: Febrero 10, 2010, 12:56:26 pm »
Vaya! No había visto el post hasta ahora :)
Tiene muy buena pinta :D Sigue así!
Toma karmona

FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5563
  • Karma: 125
    • GECA soft
Re: Bennu GD - Open 3D module
« Respuesta #57 en: Febrero 10, 2010, 02:01:57 pm »
El merito es todo tuyo Grisendo por pasarme tu dll configurada en codeBlocks. La verdad lo tengo paradillo, porque la mayoria de curro  es adapartar funciones de OpenGL a funciones tipicas de Bennu, y la verdad no me motiva hacer de chino, pero ya veremos.

Windgate

  • Hero Member
  • *****
  • Mensajes: 2930
  • Karma: 124
    • TRINIT Asociación de Informáticos de Zaragoza
Re: Bennu GD - Open 3D module
« Respuesta #58 en: Febrero 10, 2010, 07:22:00 pm »
Me cago en diógenes, voy a hacer un día de estos un tutorial de dlls... Cuando me ponga a hacer una :D

En serio, había por ahí un ejemplo de creación de dll que hizo DCelso e implementaba fibonacci, factorial y alguna estupidez más, partiré de ahí si me lo permite, que supongo que sí :P

Ánimo con el OpenGL, ahora mismo estoy echando de menos el double buffer en Bennu 3D que no me funciona, y en OpenGL viene casi de serie, será útil sin duda tener esa librería aquí.
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

grisendo

  • Full Member
  • ***
  • Mensajes: 205
  • Karma: 22
  • Aprendiz de todo, maestro de nada
    • http://www.grisendo.com
Re: Bennu GD - Open 3D module
« Respuesta #59 en: Febrero 10, 2010, 07:40:35 pm »
No hombre, yo mérito poco, también me copié de una librería que había por ahí que sumaba enteros, floats y strings, aunque
era de fenix y tuve que depurar un poco copiándome la de DCelso :)

En cuanto a lo de que adaptar funciones... doy fe de que no motiva mucho jaja por eso tengo ahí paradillo también el mío...