BENNU3D

Started by l1nk3rn3l, November 12, 2009, 02:20:44 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

l1nk3rn3l

#60
http://3dm8ee.blogspot.com/



06 enero 2006
* se corrigio definitivamente la funcion de reiniciar la escena , M8E_CLEARSCENE(); funciona OK.
   ya no se sale del juego, luego de varias reiniciadas.
* actualizado ejemplo test18.prg
   


04 enero 2010
* se corrigio algunos errores al limpiar la escena -> test13.prg(parece que con mapas grandes - BSP) se crea
   un memory leak.(error de memoria)
* nuevas funciones para detectar puntos 3d en una trayectoria, ideal para obtener contactos con triangulos
   como disparos, ubicar objetos, etc.  M8E_GETPOINTFROM2DPOS(_Pos2D,CollisionID,_Point3D),
   M8E_GETPOINTFROMRAY(_Line3D,CollisionID,_Point3D)


03 Enero 2010
* nueva funcion M8E_COLMODEL ->test17.prg


01 enero 2010
* arreglado bugs en el sistema de reporte de colisiones (ejemplo de Fisica)







si hay errores agradeceria que escribieras l especificaciones del equipo,,

me podria servir de algo , y si modificaste algo el codigo pasamelo,,,


prg: anotare las sugerencias,

n algunas de ellas que son *get* veo que especificas que el tipo de dato es _pos3d, ¿No debería ser POINTER _pos3d?,

nop, porque cuando en bennu pasas un struct o un tipo definido por el usuario , mediante un paramnetro
pointer definido en una dll me di cuenta que no habia necesidad de pasarle la direccion.. a menos que fuera
un dato simple (int,float,etc)


funciona :

m8e_posmodel(modelo,pos)


m8e_posmodel(modelo,&pos)


m8e_posmodel(modelo,offset pos)


cualquiera funciona.. asi que para no complicar a los nuevos lo deje simplemente
en la ayuda:

m8e_posmodel(int model,pos3d pos)



Podria decir que esta version de la libreria es la mas estable que he conseguido ...
despues d tantos errores...


Prg

#61
[code language="bennu"]funciona :

m8e_posmodel(modelo,pos)


m8e_posmodel(modelo,&pos)


m8e_posmodel(modelo,offset pos)[/code]

yo también me había percatado de eso, al fin y al cabo pos es la dirección de memoria de la estructura  je je je

gracias link. revisaré los cambio de escenas. saludos.

pd. el test 18 está increible, gracias amigo :), aunque debido a  las plataformas no puedo colocar la gravedad automática, la función M8E_ANIMCOLISFALLING(colisionAnim) me servirá muchísimo, ahora dejaré de lanzar raycols al piso intentande detectar colision con él para saltar. aunque quizá pueda usar M8E_ANIMCOLJUMP(colisionAnim,gravedad); para las plataformas y dejar la gravedad de la función de bennu... tendré que estudiar el ejemplo. gracias link :) karma++
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

josebita

#62
Siento enviar esto tan tarde, pero lo intenté hace algunos días y la carga me estaba dando algunos problemas con Flash.
Aquí va la versión de código fuente con los proyectos para CodeBlocks en Linux. Espero que aún sea útil:
Mediafire: http://www.mediafire.com/?gmu5gywjemr
Megaupload: http://www.megaupload.com/?d=C5DXU4LZ

Windgate

¿Y qué carajo es eso que pones ahí Josebita? ???

Cierto lo de que la struct no es más que la dirección de memoria, pero recuerdo (Quizás con el motor antiguo) que las funciones de get me dieron problemas hasta que use el puntero... En fin, os creo, pero como soy muy maniático pondré siempre el puntero XD
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

josebita

#64
Hace ya algún tiempo, l1nk3rn3l publicó el código fuente de Bennu3D para ver si alguien la conseguía compilar para Linux.
Éste es el código fuente con los archivos de proyecto y los pequeños cambios necesarios para que la librería compile en Linux.

l1nk3rn3l

muchas gracias     :P

l1nk3rn3l

josebita , desearia que me dijeras en que version de linux hiciste esta version(32/64) asi,
la conseguire la imagen , ya que trabajo con VMWARE que es una maquina virtual, en XP,
actualmente tengo la ultima de ubuntu y fedora pero el codeblocks no me corre.. (no se deja instalar)
bajando la version de internet..(codeblocks.org)



gracias.

josebita

Lo he compilado con Ubuntu de 32 bits.
Para instalar codeblocks, vete a Synaptic (Sistema->Administración->Gestor de paquetes Synaptic) y busca ahí el codeblocks, que es la misma versión de la web y se instala sin problemas.

l1nk3rn3l

#68
no tengo internet,

me toca bajar el dvd de 3g , que version usas? nn.nn

podrias regalar un link, o de pronto comprimes el codeblocks instalado de tu disco y me lo compartes..

no uso linux desde hace tiempo , porque lo que haces no es escalable, como windows que haces algo en ubuntu 6 y lo corres en 9 no funciona..

con codeblocks es mas facil usar linux...

Drumpi

No creo que sea necesario, puedes bajar el .deb e instalarlo (no recuerdo si con doble click, o con synaptic... suelen venir instrucciones).
El problema sería con las dependencias, que si depende de algun paquete más, tendrás que bajarlo tambien.
Por eso Ubuntu sin Internet es medio SO (al menos, mientras instalas lo que necesitas, después es sólo para ayuda de cómo hacer las cosas).
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

josebita

El problema puede venir de dependecias.
Si escribes el error exacto, puede que te pueda ayudar mejor.

l1nk3rn3l


Prg

gracias por la nueva versión, la descargaré y la probaré, gracias. cuando termine con humos prometo regresar a mágico. una pregunta:

hay alguna forma de posicionar objetos que tienen física del motor con funciones como m8e_posmodel?

otra más.. je je je

¿sería mejor bsp o 3ds con render tiempo real (es que quiero que se vea la luz de los poderes, y en los bsp esto no sucede, sin embargo en los 3ds tendría que poner mapas con render en tiempo real lo cuál... aumentaría mucho los requerimientos en hardware?)?
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

Windgate

Quotehay alguna forma de posicionar objetos que tienen física del motor con funciones como m8e_posmodel?

Por la experiencia que tengo: Los animadores (Circulares, lineales, etc.) pueden "apilarse" sobre un modelo para combinar efectos, es lo que tú haces en tu mágico Prg :D

En cambio, al tener un animador activo, las funciones como POSMODEL, etc. dejan de funcionar, ya que por mucho que intenten posicionar el animador sigue "tirando" del modelo.

Yo creo que las funciones de física actúan de una forma similar, una vez están aplicadas ya no resulta posible utilizar posicionamiento, lo que sí se puede hacer es eliminar las animaciones sobre el modelo... Si te soy sincero, en mi "demo" llamada El Cubo de Hitler aplicaba física y con el cursor podía restablecer los objetos a su posición original, pero no recuerdo bien cómo lo hice, tendría que remirar el código, fue de antes de que mi portátil falleciera y no lo tengo bien ubicado ahora mismo.

Lo que dices de la iluminación en tiempo real sobre los mapas Prg... Es algo que también me inquieta, a ver si l1nk nos cuenta algo :P

Gracias por la versión l1nk, lo ví cuando lo publicaste pero se me pasó contestar. La probaré en breve.
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

l1nk3rn3l

#74
bueno por si no se dieron cuenta,
una de las mejoras es poder manejar ZIP con contraseña(encriptacion aes-256)
ver cambios.txt
asi podremos tener texturas ,modelos y demas protegido cuando lo distribucion



si los objetos fisicos se pueden mover manualmente, se nota que no leen la ayuda..
podrias probar con masa=0

en cuanto a rendimiento lo mejor es igual siempre y cuando carguemos los mapas
con la funcion de objetosgrandes,

asi el motor usara funciones de octree que diran que partes
se deben renderizar..

pero el BSP tiene muchas cosas utiles como luces y objetos dinamicos, entidades, ...