Resultados 1 al 9 de 9

Tema: Blitz3d en acción proyecto de test

  1. #1
    Fecha de ingreso
    May 2008
    Mensajes
    632

    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
    Fecha de ingreso
    Dec 2010
    Mensajes
    1,668

    Blitz3d en acción proyecto de test

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

  3. #3
    Fecha de ingreso
    May 2008
    Mensajes
    632

    Blitz3d en acción proyecto de test

    No, shadow 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.

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

  4. #4
    Fecha de ingreso
    Dec 2010
    Mensajes
    1,668

    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 sé cómo 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 ayuda, 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 cómo 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 3ds Max 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 01:24

  5. #5
    Fecha de ingreso
    May 2007
    Mensajes
    2,595

    Wink Blitz3d en acción proyecto de test

    Para mí siempre es un gusto el poder ver iniciativas de videojuegos, saludos desde México.
    -------------------------------------------------
    Todo lo que hagamos hoy tiene eco en la eternidad
    -------------------------------------------------

  6. #6
    Fecha de ingreso
    May 2008
    Mensajes
    632

    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 sé cómo 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 ayuda, 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 cómo 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 3ds Max 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 ordenador 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 verás 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 parecerá que está 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 express en C++, y manejar algún SDK de DirectX que puede ser 8 9 u 11, y crear una especie de puente con esas instrucciones 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
    Fecha de ingreso
    May 2008
    Mensajes
    632

    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, $ título, 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 estática 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 está 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 bdecl extern c _declspec (dllexport).
    # define _stdcall bcall.
    / / devuelve un flotador y tiene 6 parámetros float.
    
    Bdecl flotar bcall vecdistance (float x1, float y1, float z1, float x2, float y2, float z2) { tfloat DX = x1-x2, dy = y1-y2, dz = z1-z2, tvolver sqrtf (dx * DX + dy * dy + dz * dz).
    }.
    / / devuelve una cadena y tiene un parámetro de cadena.
    
    Bdecl const char * bcall shuflestring (const char * str) { tstatic char * _buf, tqué int = strlen (str), tdeleete [] _buf, t_buf = new char [qué +1], tstrcpy (_buf, str), tfor (int que = 0, que <qué, que + +) { int n = Rand () qué%, int te = _buf [k]; _buf [k] = _buf [n]; _buf [n] = t, t} tvolver _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.
    
    Shuflestring $ ($ cadena): _shuflestring @ 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
    Fecha de ingreso
    Dec 2010
    Mensajes
    1,668

    Blitz3d en acción proyecto de test

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

  9. #9
    Fecha de ingreso
    May 2008
    Mensajes
    632

    Blitz3d en acción proyecto de test

    Gracias Blitz3d, probaré todo eso que me dijiste. Saludos.
    Algo más, para las texturas azules, usa shadermap pro, ya te darás maña para encontrarlo, de igual forma comprenderás 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. Furnace test o test del blanco puro
    Por Carolina en el foro Render, Iluminación y Cámaras
    Respuestas: 0
    : 06-10-2023, 12:48
  2. Ofertas de Trabajo Final test: proyecto indie
    Por berserker en el foro Oferta y demanda profesional
    Respuestas: 5
    : 10-08-2014, 12:27
  3. Videojuego en Blitz3d: acción suspense magia y mas
    Por aprendiz en el foro Videojuegos
    Respuestas: 19
    : 12-08-2012, 14:49
  4. Blitz3d
    Por maccafio en el foro Videojuegos
    Respuestas: 3
    : 18-06-2011, 07:22
  5. Proyecto en Blitz3d batle city 3d
    Por Cibertronic en el foro Videojuegos
    Respuestas: 15
    : 16-08-2009, 22:23

Etiquetas para este tema