No quiero seguir escribiendo en fuerte! Que he estado haciendo en todo este tiempo?!... pues bueno, muchas cosas, ya tenía ganas de actualizar esto que lo tengo algo abandonado, eso y la bajada de actividad del foro debido a una movida un poco desagradable. Dejándo cosas foriles aparte, que no son más que cosas que pasan y ya está, estoy trabajando en mi sempiterno proyecto de Unika. Ahora mismo llevo algo asi como el 1% ya terminado del código, y una milésima parte del contenido XD, va a ser una pasada. En fin. Este post es más que nada para poner pantallitas, que no las suelo prodigar y no quiero que la gente piense que esto es una trola, y para justificar un poco porque tengo este espacio dedicado a fans de IRRLICHT. Tambien tengo algo de código extra que estoy seguro de que al final les vendría muy bien a esa gente, porque es útil. He modificado la biblioteca un poco, pero por el momento, nada realmente extremo.
Mirad. Son directamente extraidas del programa en ejecucion.
Es la pantalla inicial (sin efectos especiales demasiado espectaculares, vale, pero es que estoy empezando y esas cosas son secundarias por el momento) Es una pantalla sencillita, no dice mucho, pero creo que la sencillez hace que no se anticipe el contenido, e incita a querer ver que hay más adelante.
La siguiente pantalla pertenece a las opciones. Son las opciones básicas. De acuerdo, aqui descubro un poco mis cartas, voy a tratar de hacer una iluminacion bastante avanzada, pero, sin llegar al Deferred Rendering, que en mi opinion es una moda actual y que tiene más inconvenientes que potenciales ventajas, puesto que hace dependiente el render de la velocidad de raster, y solo le veo utilidad en un entorno de iluminacion dinámica muy compleja. No descarto usarla en el futuro, pero por ahora, creo que el normal Radiance Map es el más adecuado para producir sombras e iluminacion estáticas que se pueden mezclar con facilidad con elementos dinámicos.
Y ahora, las opciones de audio. A lo mejor 255 unidades es demasiada resolucion para tan pocas opciones, pero por el momento es lo que hay. A lo mejor las hago centesimales, en lugar de "255-simales" (Perdon por el atentado al diccionario XD) Le falta el codigo para poder usar audio en 5.1, aunque inicialmente la opcion esté disponible.
Y por ahora, eso es lo que hay completado. No mucho, lo reconozco, pero es que lo estoy haciendo solo y ya llevo 2 semanas con el proyecto en serio. Y lo mejor es que LO QUE HAY, FUNCIONA. Si veis el volumen de 255 ahi, es que cuando lo bajas baja. Y cuando ponéis el audio en monoaural, se pone. Y además, HACE SCREENSHOTS! XD Asi que ya veis, sigo al pie del cañon.
En lo personal, estos ultimos días me he dado cuenta de algo importante. Hay alguien a quien debería haber escuchado hace MUCHO tiempo, al que me parece que voy a empezar a escuchar con más atencion porque de verdad que cuando lo hago me siento mejor. Ese alguien soy yo mismo. Durante mucho tiempo he estado dependiendo de los demás para que tomaran ciertas decisiones por mi, y me he dado cuenta tambien de que yo no soy como los demás. Y tampoco quiero serlo. Y cuando los demás me dicen que acabe la carrera, les doy la razón, pero en el fondo se tres cosas. No me va a dar lo que quiero, no creo que pueda acabarla ya, y ya he aprendido de ella todo lo que quería saber, de modo que no tiene sentido seguir adelante. No le voy a dar más vueltas.
Lunes, 19 de octubre de 2009
Hmmm estoy preocupado. Es normal en esta situación, claro, pero no deja de preocuparme. Mi tia me diría que me tranquilizara, pero nadie puede estar tranquilo cuando es la salud lo que te tiene preocupado, aun asi, intento llevarlo con la mejor de las mentalidades. Tengo que ir hoy a hacerme una radiografía. Me van a ver el interior para saber que me pasa!. Es lo mejor, claro, asi me quito de dudas de cualquier clase. Desde hace un año vengo notando una ligera molestia en el costado. La cosa ha ido más o menos igual durante todo este tiempo, aunque ha ido aumentando progresivamente. De momento, sigue bien, realmente tampoco me molesta tanto, pero si es más notorio que el año pasado. Además, he ido por otro motivo al médico, sinceramente, no se que ha pasado este año. pero me han venido todas juntas! Bueno, dejemos eso de lado, que como dice mi tia, no son más que miserias.
Hay un nuevo render subido a la zona de 3D. No actualizo mucho... pero bueno, se intenta!. Esto de no tener internet es lo que tiene, te da más ideas. Lo malo será cuando lo pongan, entonces la creatividad se me irá al cuerno. En fin... A ver cuando!
Tambien estoy pensando en cambiar la página, para que sea más atractiva... aunque ello implica cambiar todo! AH! que toston! XD
A la zona de renders tambien llamada "Galeria 3D"!
Lunes, 15 de Septiembre de 2009
Volvemos a la carga! no es que no haya estado haciendo nada durante este tiempo, si no que lo que hecho no ha estado dedicado al mundo de internet, en general, ni a la programacion en particular. He estado estudiando para ver si paso de una vez los examenes de la carrera, que a este paso me va a costar la vida! No obstante, al final si que he tenido tiempo de poner en práctica un par de cosillas a las que llevaba dandole vueltas, y al final... VOILA! un par de demos de Irrlicht. No ilustran cosas demasiado impresionantes, segun se mire, claro. Son 2 modelos de iluminacion ambiental. Uno basado en un modelo esférico de 6 luces simultaneas, y otro basado en un modelo de harmónicos esféricos. Todavia estoy intentando comprender para que sirven :) Ahi os dejo las imágenes. El modelo femenino es obra de mi hermano.
Ambos incluyen un shader de HDRI para realzar las partes más brillantes. Aun hoy lo sigo puliendo, sobre todo por el hecho de que hay que calcular el espacio tangencial al vuelo, pero el resultado, si no se es demasiado exigente, es bastante satisfactorio. Podeis descargar la demo en la página de demos! :)
Sabado, 13 de Junio de 2009/Oyendo "This is not the best time!" Piratas del caribe En el fin del mundo.
Pues lo he hecho, ha empezado al fin. Estoy intentando hacer algo por mi cuenta, algo dedicado a la programación. Lo cierto es que soy de ese tipo de persona que piensa que si algo no sale como a uno le gusta, tiene que hacerlo el mismo. Esto es porque al fin me veo capacitado para intentar crear algo realmente complejo con programacion. Estoy intentando crear un motor de render sencillo, pero potente, con las cosas que a mi me gustaria ver en un motor de render competente y capaz. De momento está en pañales. No hay nada hecho, pero por lo menos, ya puedo poner la pantalla completa y una ventana con el contenido del motor (dice papa y mama XDD). El nombre del motor es "Olimpus Rendering Engine" u "ORE" para abreviar, aunque estoy pensando cambiarlo a "Olimpus Lighting Engine" que tendría como siglas "OLE", que sería algo muy español.
Se que algunos se me echaran encima diciendo que soy lo peor, que porque lo hago asi, que es mejor ofrecer más compatibilidad. Y es que el motor que estoy creando está basado únicamente en DirectX. Algo que tiene Microsoft es que programa API's realmente sencillas de utilizar. Y como todo lo que tiene que ver con DX es básicamente una interfaz con el hardware, pues es bastante sencillo programar algo bastante espectacular en muy poco tiempo. Lo cierto es que no me disgusta en absoluto OpenGL, de hecho me encanta que sea igual de potente que DirectX, pero tiene un fallo esencial, y es un fallo grave. Que Yo no lo conozco. Si pudiera programar con OpenGL igual que con DX, harbría 2 versiones de la libreria que estoy programando, una orientada completamente a DirectX, y otra de igual funcionalidad integramente dedicada a OpenGL. Y no es muy dificil! porque estoy creando la biblioteca sobre una base de interfaces independientes de la plataforma, con lo que programar clases especificas que hereden esas interfaces abstractas para OpenGL no es en absoluto descabellado ni complejo. Obviamente, la plataforma escogida es Windows, y la forma de la biblioteca es una DLL.
Algo que me hace gracia es el hecho de que todo lo que se de programacion lo aprendí en LINUX, mientras que este trabajo es integramente para Windows. Ironico, cuando menos, las herramientas que estoy empleando son todas de distribucion libre, al menos, el SDK de Noviembre de DirectX lo pude descargar gratuitamente de la web de Microsoft, y es funcional con el Code::Blocks. Me he de descubrir ante Microsoft al ver que no han restringido de una manera vinculante la plataforma DirectX a sus entornos de programacion. Y espero que por muchos años siga! De todas maneras, es una cuestion de lógica. Sus entornos de programacion son ampliamente pirateados. Algo que me apena, puesto que es una inversion en la que los trabajadores de Microsoft hacen un gran esfuerzo, y ciertamente son herramientas de gran calidad, pero es que las herramientas libres como las que he comentado (Code::Blocks) son igualmente potentes y efectivas!
Ni que decir tiene cual ha sido la fuente de inspiracion de este proyecto. El motor gráfico Irrlicht. Es un motor de una calidad excepcional! y a mi me ha servido como fuente de inspiracion, documentacion, y soporte para intentar este proyecto por mi mismo. Estoy intentando por todos los medios evitar que el proyecto se parezca demasiado a Irrlicht, y lo cierto es que va a ser bastante distinto en concepcion. Irrlitch es un motor que tiene ya 6 años de antigüedad, que puede ejecutarse en un buen monton de plataformas sin casi cambiar nada, y que posee incluso varios renderizadores por software propios que no tiene nada que envidiarle al de Pixomatic, más bien al contrario, ya que no sacrifica nada de calidad y es tremendamente eficiente con las cargas más complejas. Aun asi, tiene ya sus años, y se nota el peso de los mismos. La tecnología para la que vio Irrlicht la luz ya está obsoleta, y su concepto habria de cambiar para adaptarse a los nuevos tiempos (Irrlicht 2.0?). Hoy en dia las cosas se hacen de manera diferente a como se hacia antes.
Las ideas que tengo en mente
para este motor son las siguientes:
Sistema de Materiales unificado.
Shadow Mapping
Coherent Hierarchical Culling para eliminar las partes ocultas de la escena de manera dinámica
Hardware Skinning para los modelos de manera que el skin se haga de forma eficiente
Texturas en formato de coma flotante
Sistema unificado de shaders de postprocesado, incluyendo Screen Space Ambient Occlusion
Un sistema de iluminacion global basado en imagen mediante un modelo de muestras de baja frecuencia
Soporte para dibujo 2D acelerado por hardware.
Sistemas de particulas
Sistema de render mediante Hardware Buffers
Y luego, si el tiempo me lo permite, y funciona, implementar una técnica de invencion propia (realmente no se si la invento yo o no, pero no he leido nada parecido al respecto en ningun un otro lado) para el render de superficies especulares complejas, que llamo "Lighting Mapping", que consiste en, además de guardar en una superficie un mapa con el color de la iluminacion (el "Light Mapping") conseguir otro mapa en el que se almacenen los las direcciones de los vectores de las luces que iluminan la escena. De esta manera, la iluminacion estática podría conseguir efectos realmente impresionantes, comparados con la iluminacion solo mediante Light mapping a secas. Es o no es una idea genial? espero que salga bien, aunque los primeros cálculos no son muy esperanzadores. Habra que verlo. Pues nada! cuando me da, me harto de escribir! Espero no haberos aburrido. Si quereis poneros en contacto conmigo con respecto a este engine, hacedlo a melfice1024, una cuenta de Gmail. y en el asunto escribid: Olimpus Rendering Engine.
Jueves, 28 de Mayo de 2009/Oyendo Hammerfall "Renegade"
Pues ya he actualizado los foros a la version 1.1.9. Actualizarse es útil, y necesario, porque muchas veces, o te actualizas, o te quedas en la cuneta. Lo cual es una puñeta muy poco de agradecer. Tambien sirve para corregir ciertas deficiencias que los anteriores motores de foros tenían, o para resolver problemas de compatibilidad, o llegado el caso, vulnerabilidades conocidas, y no resueltas hasta última hora... Cierto, he estado a punto de perder los foros, o quizas no, pero desde luego la cosa podría haber sido mucho peor de lo que fue gracias a que detuve la cosa a tiempo, por lo que se ve. En efecto, el foro me lo intentaron hackear el otro dia. Un usuario de nombre "krisbarteo", bueno, decir usuario es incorrecto, mas bien un bot de spam, se registró en el foro, subio un avatar falso, y con ello, consiguió acceso completo al foro. Cogió todos y cada uno de los archivos PHP del foro y al principio de los mismos insertó un código malicioso cuya funcion era la de ejecutarse (y probablemente extenderse) con cada ejecucion que se hacia del mismo.
En principio pensé que no habia tenido efecto, puesto que todo parecia seguir funcionando normalmente, incluso podría haber pasado desapercibido si no hubiera prestado atención, pero no, este foro es demasiado extraño como para recibir visitas de esa naturaleza, de modo que habia algo que no andaba bien... Obviamente, lo primero, la copia de seguridad hecha, y despues.. bueno, lo de despues dejemoslo en que me habria sido más sencillo coger y reinstalar todo directamente, como hice al final, que intentar evaluar hasta que punto habia resultado dañado el foro. Por suerte la base de datos permanecía intacta, con lo que recuperarse fue una mera cuestion de tiempo, pero me mostró lo sencillo que es deshacer algo que cuesta tanto armar. Es como todo en la vida, por una estupidez se puede echar por tierra en un segundo un esfuerzo inmenso de años.
A que viene esto? A que cuideis de lo que teneis, y no os confieis porque siempre puede venir un desgraciado y os lo echa por tierra en menos que canta un gallo. En fin... espero que el administrador de este sitio no tuviera problemas por mi culpa, pero por lo que se ve tambien le ha tocado pringar con lo mismo, si no algo peor... Solo agradecerle que siga manteniendo este sitio tan bien (y tan gratis, gracias, gracias de veras! :) Somos más de uno los que lo agradecemos )
Demomento, voy a dejaros otra lindeza de las mias. Es un render de Kosmos, la que hice con el modelo que hice en 3D, Me gustaria ver un Xenosaga IV con ella, pero me da que eso será dificil, sobre todo porque la historia está cerrada, pero bueno! me vuelvo a mi concha. Los examenes van a comenzar pronto, y tendré que volver a prepararlos. Deseadme suerteee! El dibu nuevo de Kosmos está en la galeria3D
Viernes, 3 de Abril de 2009/Oyendo Cranky Rave slave
He terminado otro modelo de Uni, la que quiero que sea mi propia Kosmos! creo que al fin es lo suficientemente distinta como para evitar una demanda por parte de Monolith Soft por plagio! XDD Ahi os dejo un par de videos. Uno de ellos es una simulacion de algo que quiero hacer con Irrlicht, aunque de momento, es solo eso, un render hecho con las especificaciones del programa que quiero hacer, aunque tengo esperanzas de conseguir algo similar. El otro es un video parecido, pero con un efecto especial añadido que se podría hacer igualmente. Disfrutad de la alta calidad! :)
Jueves, 26 de Marzo de 2009/ Oyendo: PSU Ambition of the Illuminus.
Otra pequeña actualizacion! son unas lineas de codigo en HLSL que permiten crear un mapa cubico de entorno a partir de un mapa 2D, si no hay disponible soporte para mapas cúbicos de entorno, o simplemente, por pura curiosidad. Tambien hay un par de videos de Youtube subidos que podeis ver aqui :) En la zona de extras lo encontrareis. Tambien un par de videos con los resultados!
Lunes, 9 de Marzo de 2009/ Oyendo: Xenosaga OST.
Pues una pequeña actualizacion. Un tutorial en una zona nueva de la web, la zona de "Extras" Sobre NormalMapping a partir de BumpMapping. Espero que lo encontreis útil!
Jueves, 5 de Febrero de 2009/ Oyendo: No estoy escuchando ninguna música ahora.
Weee... lo conseguí! lo conseguí! He conseguido hacer un efecto de glowing sin MRT!... que que es el MRT? bueno, es lo que se conoce como "Multi Render Target", es una técnica que permite renderizar en 2 texturas al mismo tiempo para hacer efectos especiales, de la que Irrlicht ahora mismo carece. pero que en un futuro próximo, lo más probable es que la incluya tambien. El truco se basa en usar el canal alpha para ver donde se podría renderizar un efecto especial, y que saliera. Es evidente que con el MRT saldría mejor, porque el canal Alpha ya no se pelearia con las transparencias, pero si se evitan adecuadamente, seguro que sale un efectillo bueno, y muy próximo a lo que un glowing DE VERDAD debe ser. A mi me gusta como ha quedado, la verdad. Aunque ya digo, seguro que con MRT queda mejor. De momento no he puesto ninguna demo, ya se que con una screenshot es poco creible, pero está hecho.
Tambien he empezado a trastear con el OGRE, que se supone que tiene ya todas las cosas que a Irrlicht le hacen falta. De momento, diría que lo más urgente que necesitaría para estar a la par con OGRE sería Multi Render Target, texturas en formato de coma flotante, y hardware skin meshes (todas igual de prioritárias), porque lo que es el resto de técnicas, o estan ya, o le faltan muy poco. La verdad es que Irrlicht es un motor de render estupendo. Tiene cosas sobresalientes, entre las que destaca la increible sencillez de uso que posee. Despues de ver la inmensidad de OGRE, y comprobar la simpleza de Irrlicht, lo cierto es que no puedo evitar pensar que realmente OGRE lo podrian haber hecho MUCHO más sencillo. En los tiempos que corren hoy en dia, una implementacion de BSP, para el render de escenarios está un poco desfasada, porque las tarjetas de video trabajan mucho mejor cuando todo esta en su memoria interna, y no volando etre la memoria principal y ésta.
Quizas Ogre tenga mejores características en cuanto a composicion de escenas, y demás, que tenga en si mismo engines de shadow mapping, portal occlusion y que la gente lo vea como un engine mucho más robusto, pero la verdad es otra. La verdad es que Irrlicht por si mismo ya es un motor plenamente solido, aunque no esté totalmente consolidado. Lo cierto es que oigo hablar mucho más de Ogre (o de otros, como Crystal Space) Y sin embargo poco de Irrlicht, lo que no es en absoluto justo, teniendo la calidad que tiene, y sobre todo comparando lo que tiene que trabajar uno para conseguir algo decente con Ogre, cuando en Irrlicht lo tienes casi al instante. Que un programa tenga que trabajarse mucho y tenga que ser complejo para que sea bueno es falso, la prueba es este motor que ahora mismo estoy alabando. Es simple, es sencillo, es elemental, lo podría usar un niño de colegio, y sin embargo da tanto a cambio de tan poco esfuerzo que cuesta creer que lo que hace sea de verdad y que no se vaya a desmontar a la primera de cambio. El motor aguanta casi lo que le echen. Y aunque aun no es perfecto, porque aun no lo es, la verdad, poco le falta.
Solo espero que esta crítica sirva para que la gente conozca de un gran motor como es Irrlicht, una palabra alemana que viene a significar algo asi como "Hada" Es una especie de hada, aunque no tengo muy claro de que tipo es, o cuales son sus características, pero la verdad es que el nombre le viene bien, es pequeño, manejable, y da tanto que parece mentira con lo compacto que es. Comparado con el "Ogro" creo que podrían estar a la par. No vas a hacer un UT3 con el , pero desde luego, hacer un juego que se viera igual no resultaría nada descabellado. Tambien dejo unas pantallitas del efecto que conseguido, hacedle click para verlas en grande.
Domingo, 18 de Enero de 2009/ Oyendo "Hola Espiderman" (Mojinos Escozios "Los novios que las madres nunca quisieron para sus hijas... y el novio que las hijas nunca quisieron para sus madres")
Madre mia, ocupa más el titulo del disco que lo que voy a escribir aqui!. Bueno, pues nada, para que se sepa, la galeria 2D tambien ha empezado su andadura de una manera más que grata. Con un dibujo de Kosmos, de Xenosaga, que es un personaje que particularmente, me encanta su diseño, aunque su personalidad no es tan atractiva, pero bueno. Es un comienzo para la galeria 2D. Por si a alguien le interesa, estoy jugando al Perfect World International. Ahora mismo no recuerdo la URL, pero si veis a un Elfo con alas, y el pelo azul que responde al nombre de LordMelfice, ese soy yo ;)
Pues nada! a disfrutar!
Viernes, 26 de Diciembre de 2008/ Oyendo " Promised Plan" (Xenosaga Episode III OST)
Un comienzo espectacular para la parte de 3D! un precioso Ferrari rojo os espera! :)
Martes 23 de Diciembre de 2008 /Oyendo "Escape!" (Xenosaga Episode I OST)
Pues nada! vamos a escribir algo aqui, que ya va tocando. De momento no tengo nada ejecutable subido, pero, el juego de Uni ya tiene efectos a pantalla completa, al menos, hay 1 implementado! una especie de bloom a pantalla completa. Chupy! aunque la pagina de Unika aun no está subida (voy a ponerle un diseño algo mas llamativo que este) El efecto está tomado del código de Blindside, de los foros de Irrlicht aunque modificado para añadir alguna optimizacion, como la de renderizar solo en el fragmento de pantalla que necesite. Esa es una pantalla del efecto en accion. No se nota mucho, porque es meramente una prueba, pero mas adelante, habrán efectos mas apañados. Mi hermano sigue con la construccion de una de las protagonistas de la historia, y de momento, luce genial, ya la vereis.
Normalmente tambien solia hablar de mis cosas aqui, aunque de momento, no me siento con ganas de contar nada, no porque no tenga nada que contar, sino simplemente, poraue ahora no me apetece. En fin! Espero que os volvais asiduos! Nos leemos! No, aun no he puesto mi contacto por ninguna parte, pero en el foro podreis intentar decirme algo, eso si, nada de meter bots! que os conozco!
Sabado 21 de Diciembre de 2008 / Oyendo "Tiamat" (Tekken Dark Resurrection OST)
Primera cosa que voy a poner aqui. El sitio se creó el 21 de Diciembre de 2008. De momento, el contenido no va a ser muy llamativo. Probablemente al principio las actualizaciones sean lentas.Pero voy a intentar que esto vaya fluido.
Vaya, no se si hacer esto dual, como lo hice la otra vez. Creo que deberia, porque le debo a esta persona que me haya cedido el espacio para crear esto. Asi que lo haré. Aunque por defecto se cargará en español.
Mas cosas. El foro! si, está creado! y además funciona, al menos nos libraremos (por el tiempo que pueda ser) de los suplicios que nos provoca la publicidad, que es hartible.
Copyright 2008/2009 Santiago A. Navascués González.