Gracias Gracias:  5
Resultados 1 al 9 de 9

Tema: Blitz3D en accion Proyecto de Test

  1. #1
    Senior Member Avatar de Yue
    Fecha de ingreso
    May 2008
    Ubicación
    Bogotá
    Mensajes
    634

    Blitz3D en Acción (Proyecto de Test)



    Un saludo.
    "No son ni estrellas ni ídolos, son solo gente común que quiere hacer historia"

  2. #2
    Expulsado
    Fecha de ingreso
    Dec 2010
    Ubicación
    En matrix
    Mensajes
    1,681

    Re: Blitz3D en Acción (Proyecto de Test)

    Están increíbles esos efectos. ¿es con la librería Ashadow verdad?

  3. #3
    Senior Member Avatar de Yue
    Fecha de ingreso
    May 2008
    Ubicación
    Bogotá
    Mensajes
    634

    Re: Blitz3D en Acción (Proyecto de Test)

    No, Ashadow tiene un problema y es que no permite hacer cambios de resolución de pantalla en tiempo real, los efectos están codificados exclusivamente con Blitz3D.

    El agua es un Cube face, con texturas Bump, el efecto Glow y los rayos de sol, se hacen mediante readpixel y toda esa cosa, aunque hice una lib en directX 8.1 para apoyer mejor la cosa de los rayos.

    Un saludo.

    Edit: la cosa fue inspirada en unos vídeos de unity xD.
    "No son ni estrellas ni ídolos, son solo gente común que quiere hacer historia"

  4. #4
    Expulsado
    Fecha de ingreso
    Dec 2010
    Ubicación
    En matrix
    Mensajes
    1,681

    Re: Blitz3D en Acción (Proyecto de Test)

    PUes ni idea tenía de que se podía hacer eso con el propio código de blitz3d, me parece increíble ¡¡

    Oye Blitz3d, me puedes explicar lo de las texturas bump por favor?

    Lo del cube face más o menos lo entiendo, pero no se como lograr el efecto ese del agua sin ser con una .dll

    También si no es mucho pedir podrías pasarme algún código de .dll en blitz3d haciendo algo sencillo?

    Yo estoy investigando con las dll pero es bastante complicado, y agradecería cualquier ayudita, por favor,

    edito: además, en cuanto logre esos efectos (glow, efecto del agua) me meto de lleno en nuevo juego, pero antes quiero entender bien como funcionan. Y también estoy buscando la manera de generar terrenos de muchos polígonos en blitz3d pero cargarlos como loadterrain para que me funcione el modo LOD (la redución de polígonos por la distancia) sin tener que usar un mapa de alturas. Por ejemplo modelar un terreno en 3dsmax y luego usarlo en blitz pero de manera que lo reconozca como un terrain para que use el modo LOD
    Última edición por aprendiz; 28-01-2012 a las 03:24

  5. #5
    Senior Member Avatar de pigo0019
    Fecha de ingreso
    May 2007
    Ubicación
    Mexico
    Mensajes
    2,616

    Wink Re: Blitz3D en Acción (Proyecto de Test)

    para mi siempre es un gusto el poder ver iniciativas de videojuegos, saludos desde Mexico.
    -------------------------------------------------
    Todo lo que hagamos hoy tiene eco en la eternidad
    -------------------------------------------------

  6. #6
    Senior Member Avatar de Yue
    Fecha de ingreso
    May 2008
    Ubicación
    Bogotá
    Mensajes
    634

    Re: Blitz3D en Acción (Proyecto de Test)

    Cita Iniciado por aprendiz Ver mensaje
    PUes ni idea tenía de que se podía hacer eso con el propio código de blitz3d, me parece increíble ¡¡

    Oye Blitz3d, me puedes explicar lo de las texturas bump por favor?

    Lo del cube face más o menos lo entiendo, pero no se como lograr el efecto ese del agua sin ser con una .dll

    También si no es mucho pedir podrías pasarme algún código de .dll en blitz3d haciendo algo sencillo?

    Yo estoy investigando con las dll pero es bastante complicado, y agradecería cualquier ayudita, por favor,

    edito: además, en cuanto logre esos efectos (glow, efecto del agua) me meto de lleno en nuevo juego, pero antes quiero entender bien como funcionan. Y también estoy buscando la manera de generar terrenos de muchos polígonos en blitz3d pero cargarlos como loadterrain para que me funcione el modo LOD (la redución de polígonos por la distancia) sin tener que usar un mapa de alturas. Por ejemplo modelar un terreno en 3dsmax y luego usarlo en blitz pero de manera que lo reconozca como un terrain para que use el modo LOD
    Bueno el tema es largo y la verdad al no tener computadora y tiempo es un poco complicado, así que empecemos por el comienzo.

    Las texturas Bump, las que yo llamo así por falta de conocimientos en tecnicismos son las encargadas de emular protuberancias y reacionan a las fuentes de luz, esas texturas llamadas creo que normales son azules y como veras en Blitz se permite usar multitexturas en un mesh, creo que hasta ocho, entonces la normal o textura bump va en la primer capa y la otra que es normalita va en la siguiente capa, lo que se hace es usar el comando... espera miro.
    ya TextureBlend que hace la mezcla y pones el valor 4. así que tendrás el efecto Bump cuando pongas una luz por ejemplo de ladrillos parecera que esta en relieve y reacciona a los movimientos de la luz, esto explicado además al poner esto en un cubeface se establece transparente y se mueven las texturas con positiontexture o algo así.

    Ahora bien lo de la DLL, toca programar con visual expres en C++, y manejar algún SDK de directX que puede ser 8 9 u 11, y crear una especie de puente con esas instruciones en una dll para que Blitz haga uso de otra versión de directX, ya te paso un ejemplo.
    Archivos adjuntados Archivos adjuntados
    "No son ni estrellas ni ídolos, son solo gente común que quiere hacer historia"

  7. #7
    Senior Member Avatar de Yue
    Fecha de ingreso
    May 2008
    Ubicación
    Bogotá
    Mensajes
    634

    Re: Blitz3D en Acción (Proyecto de Test)

    Agrego esta información, para deslumbrar un poco más el asunto de las lib.

    Código:
    Nueva interfaz de DLL de especificaciones
    ----------------------
    
    En la actualidad existe un directorio en el blitzpath raíz llamado "userlibs.
    
    Mediante la adición de archivos DLL y archivos ". Decls a este directorio, se puede extender conjunto bombardeo de comandos.
    
    DLL contienen en realidad el código de la biblioteca, mientras que. Decls archivos contienen "declaraciones" que se añade a la
    comando de la base establecida. Estas declaraciones describen las funciones contenidas en el archivo DLL.
    
    Formato de los archivos decls
    ---------------------
    
    Archivos decls siempre debe comenzar con una directiva ". Lib ', seguido por el nombre entre comillas de la DLL que se
    cargado, por ejemplo:
    
    . Lib "mylib.dll"
    
    Después de la lib. Es una lista de declaraciones de funciones. La sintaxis de estos es idéntica a la
    declaraciones de las funciones de Blitz, con las siguientes excepciones:
    
    * No hay valores de los parámetros por defecto se permite.
    
    * Si no hay ningún tipo de retorno de la función se especifica, la función es un "vacío" función - es decir: no devuelve nada.
    
    * En lugar de los parámetros del objeto, sólo se puede especificar los parámetros de 'void *' con un '*' etiqueta tipo. Tal
    parámetros se puede asignar cualquier objeto o un banco, así que cuidado!
    
    * Una declaración puede ser seguido de un "nombre representativo. Esto toma la forma de un ':'
    seguido de una cadena entre comillas que indica el nombre representativo, por ejemplo:
    
    MyFunction ($ texto): "_MyFunction @ 4"
    De mensaje% (hwnd, $ texto, $ titulo, estilo): "MessageBoxA"
    
    El nombre representativo es el nombre de la función tal y como aparece en la dll, y sólo necesita ser
    especificada si es diferente del nombre de la función actual.
    
    DLL de la escritura
    ------------
    
    Todas las funciones deben utilizar la convención de llamada _stdcall.
    
    Los flotadores son pasados ​​y devueltos conforme a la norma C / C + + Convenciones.
    
    Las cadenas se pasó y regresó en 'C' formato - es decir: un puntero a una secuencia de terminación nula de
    personajes.
    
    Cadenas debe ser devuelto en un buffer de "estatica" de la memoria. Una vez que la función retorna, esta cadena es
    inmediatamente copia en una cadena de Blitz estilo interno, por lo que su visto bueno a compartir esta separación entre
    múltiples funciones.
    
    Tanto los bancos como los objetos pueden ser pasados ​​a las funciones. El valor que se pasa es la dirección del primer byte
    de almacenamiento. No se envía información sobre el tamaño o el tipo de memoria pasa así, de nuevo, ten cuidado!
    
    Ni los bancos ni los objetos pueden ser devueltos de las funciones.
    
    Las matrices no son compatibles en absoluto.
    
    VisualC decora símbolos muy fuerte! Si esta codificando en 'C', el diseñador stdcall necesario
    causara un "_" que se antepone, y una "@" (seguido por el número de bytes pasados ​​a la función
    - Es decir: el número de parámetros * 4) para que se adjunte. Por lo tanto, algo así como: "MyFunc _stdcall void (int x)
    va a terminar como '_MyFunc @ 4'. En C + +, la decoración de nombres es aún más desordenado! Pero se puede suprimir por
    a través del "extern" C "" característica (ver ejemplos más abajo) por lo que esta justo a la izquierda con el desorden stdcall 'C'.
    
    Otros idiomas, como Delphi y PureBasic no parecen sufrir de esta función, pero puede ser
    que vale la pena mirar a través de símbolos dll si usted esta teniendo problemas. Echa un vistazo a PEview
    http://www.magma.ca/ ~ WJR Abrir el archivo DLL y «SECCIÓN. rdata 'select /" Exportar tabla de direcciones'
    para echar un vistazo a los símbolos exportados del compilador ha tenido a bien conceder a la DLL.
    
    Ejemplo
    -------
    
    Ok, aquí hay un poco de C + + ejemplo, tal y como aparecería en VisualC.
    
    En primer lugar, escribir la DLL:
    
    / / Demo.dll
    / /
    # Include <math.h>
    # Include <string.h>
    # Include
    
    # Define BBDECL extern "C" _declspec (dllexport)
    # Define _stdcall BBCALL
    
    / / Devuelve un flotador y tiene 6 parámetros float
    BBDECL flotar BBCALL VecDistance (float x1, float y1, float z1, float x2, float y2, float z2) {
    	float dx = x1-x2, dy = y1-y2, dz = z1-z2;
    	volver sqrtf (dx * dx + dy * dy + dz * dz);
    }
    
    / / Devuelve una cadena y tiene un parámetro de cadena
    BBDECL const char * BBCALL ShuffleString (const char * str) {
    	static char * _buf;
    
    	Qué int = strlen (str);
    
    	delete [] _buf;
    	_buf = new char [Qué +1];
    	strcpy (_buf, str);
    	
    	for (int que = 0; que <Qué, que + +) {
    		int n = rand () Qué%;
    		int te = _buf [k]; _buf [k] = _buf [n]; _buf [n] = t;
    	}
    
    	volver _buf;
    }
    Después de la construcción de este "demo.dll" la resultante debe ser colocado en el directorio userlibs.
    
    Ahora, también tenemos que crear un "demo.decls archivo ', que describe las funciones de nuestra dll. Este archivo
    También se coloca en el directorio userlibs:
    
    . Lib "demo.dll"
    VecDistance # (# x1, y1 #, # z1, x2 #, # y2, z2 #): "_VecDistance @ 24"
    ShuffleString $ ($ cadena): "_ShuffleString @ 4"
    
    ... ¡Voila! El Blitz próxima vez que se puso en marcha, los nuevos comandos aparecen en el IDE y se pueden utilizar.
    Un saludo Aprendiz.
    "No son ni estrellas ni ídolos, son solo gente común que quiere hacer historia"

  8. #8
    Expulsado
    Fecha de ingreso
    Dec 2010
    Ubicación
    En matrix
    Mensajes
    1,681

    Re: Blitz3D en Acción (Proyecto de Test)

    Gracias Blitz3d, probaré todo eso que me dijiste. Saludos

  9. #9
    Senior Member Avatar de Yue
    Fecha de ingreso
    May 2008
    Ubicación
    Bogotá
    Mensajes
    634

    Re: Blitz3D en Acción (Proyecto de Test)

    Cita Iniciado por aprendiz Ver mensaje
    Gracias Blitz3d, probaré todo eso que me dijiste. Saludos
    Algo mas, para las texturas azules, usa ShaderMap Pro, ya te daras maña para encontrarlo. de igual forma comprenderas mejor las otras texturas unas que son grises, y creo que se llaman especulares.


    Un saludo.
    "No son ni estrellas ni ídolos, son solo gente común que quiere hacer historia"

Temas similares

  1. Ofertas de Trabajo Final Test: Proyecto Indie
    Por berserker en el foro Colaboraciones e Iniciativas
    Respuestas: 5
    Último mensaje: 10-08-2014, 13:27
  2. Videojuego en Blitz3D: accion, suspense, magia y mas
    Por aprendiz en el foro Videojuegos
    Respuestas: 19
    Último mensaje: 12-08-2012, 15:49
  3. Blitz3d
    Por maccafio en el foro Videojuegos
    Respuestas: 3
    Último mensaje: 18-06-2011, 08:22
  4. Blitz3D
    Por pab0 en el foro Videojuegos
    Respuestas: 1
    Último mensaje: 07-06-2010, 04:53
  5. Proyecto en Blitz3d Batle City 3D
    Por Cibertronic en el foro Videojuegos
    Respuestas: 15
    Último mensaje: 16-08-2009, 23:23

Actualmente estos son sus permisos de publicación en el foro.

  • -No puedes crear nuevos temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes responder temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes subir archivos adjuntos al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes editar tus mensajes al no estar registrado o no haber iniciado sesión en el foro.
  •