Irrlicht (pronunciación alemana [ ˈɪʁlɪçt ] , inglés: will-o'-the-wisp ) es un motor de juegos de código abierto escrito en C++ . Es multiplataforma , funcionando oficialmente en Windows , macOS , Linux y Windows CE , y debido a su naturaleza abierta, existen versiones para otros sistemas, incluyendo FreeBSD , Xbox (hasta la versión 1.8.1 de Irrlicht), PlayStation Portable , [ 1 ] Symbian , [ 2 ] iPhone , [ 3 ] AmigaOS 4 , [ 4 ] Sailfish OS a través de un envoltorio Qt/QML, [ 5 ] y Google Native Client . [ 6 ]
Irrlicht es conocido por su pequeño tamaño y compatibilidad con hardware nuevo y antiguo por igual, facilidad de aprendizaje y una gran comunidad amigable. [ 7 ] Existen enlaces no oficiales para muchos lenguajes, incluidos AutoIt , [ 8 ] C++Builder , [ 9 ] FreeBASIC , [ 10 ] GameMaker Language , [ 11 ] Java , [ 12 ] Lua , [ 13 ] .NET , [ 14 ] [ 15 ] [ 16 ] Object Pascal ( Delphi ), [ 17 ] [ 18 ] Perl , [ 19 ] Python , [ 20 ] [ 21 ] y Ruby , [ 22 ] aunque la mayoría de ellos no se han mantenido durante cinco años o más.
El desarrollo de Irrlicht comenzó en 2003 con un desarrollador, Nikolaus Gebhardt. [ 23 ] Solo después del lanzamiento de la versión 1.0 de Irrlicht en 2006, el equipo creció a diez miembros en 2011, la mayoría de ellos desarrolladores. [ 24 ]
Irrlicht es un término alemán común para referirse a un fuego fatuo .
Características
Irrlicht admite renderizado 3D a través de OpenGL , DirectX 8, 9 y rasterizadores de software internos. DirectX 8 no es compatible después de la versión 1.8.1, [ 25 ] lo que efectivamente finaliza el soporte para Xbox. Los renderizadores externos y los sistemas de ventanas se conectan a través de interfaces simples, lo que da lugar a un controlador de video Simple DirectMedia Layer (SDL) creado por la comunidad y soporte para dispositivos iPhone y Symbian . El motor viene con una biblioteca de renderizadores de materiales estándar, lo que permite materiales de reserva cuando el hardware del usuario no puede manejar métodos avanzados. Se pueden agregar nuevos materiales al motor en tiempo de ejecución, lo que permite a los usuarios escribir los suyos propios según sea necesario. Además de los materiales de canalización de función fija heredados, se admiten Pixel and Vertex Shaders programables (1.1 a 3.0 y 4.0 usando GLSL), ARB Fragment and Vertex Programs, HLSL , Cg y materiales GLSL .


Irrlicht admite muchos formatos de archivo. Cargará y mostrará archivos de 3ds Max, modelos MD2 de Quake 2, objetos .obj de Wavefront, mapas .bsp de Quake 3, objetos Milkshape3D y archivos .x de DirectX. [ 26 ] Se han escrito cargadores de formato adicionales como complementos externos. Las luces, las cámaras y los objetos 3D se gestionan como un árbol de nodos de escena , entidades arbitrarias agrupables vinculadas entre sí en un grafo de escena . Estos nodos son responsables de su propio comportamiento, pero también pueden ser gestionados por animadores, entre sí o manualmente por los usuarios.
Existen numerosos tipos de nodos integrados que pueden combinarse para crear escenas complejas tanto en interiores como en exteriores. Crear nuevos nodos es muy sencillo y se pueden añadir en tiempo de ejecución; la comunidad ofrece muchos tipos de nodos adicionales. Entre los tipos de nodos incluidos en Irrlicht se encuentran un renderizador de terreno y cúpulas celestes para renderizado en exteriores, partición binaria del espacio (BSP) para renderizado en interiores, mallas animadas basadas en huesos, sombras de plantilla, vallas publicitarias y sistemas de partículas, superficies de agua y primitivas.
Se encuentra disponible una interfaz gráfica de usuario (GUI) 2D personalizable , compatible con numerosos controles y que permite a los usuarios integrar widgets personalizados (propios o creados por la comunidad) durante la ejecución. El sistema de eventos interno de Irrlicht proporciona eventos de ratón, teclado, joystick e GUI sin necesidad de bibliotecas adicionales. [ 27 ]
El acceso al sistema de archivos está abstraído, lo que permite el acceso a archivos y carpetas independiente de la plataforma, así como el acceso transparente a archivos dentro de archivos ZIP . Otras funciones de entrada/salida incluyen un lector y escritor XML, la capacidad de tomar capturas de pantalla, manipular imágenes y mallas, y guardarlas en varios formatos de archivo diferentes.
Irrlicht ofrece soporte para la detección de colisiones simple, incluyendo la selección con el ratón, pero se advierte a los usuarios que esto no pretende ser un reemplazo para un motor de física completo .
extensiones del motor
Irrlicht fue diseñado para poder cargar y guardar la escena actual en un archivo XML; esto, junto con el modelo de licencia de código abierto del motor, ha atraído a varios programadores y desarrolladores a crear editores de mundos para Irrlicht con el fin de simplificar el proceso de creación de mundos. Un ejemplo de ello es el editor de mundos irrEdit , desarrollado por Nikolaus Gebhardt y otros miembros de la empresa Ambiera. [ 28 ] IrrEdit contiene un generador de mapas de luz de radiosidad y una interfaz de scripting que utiliza scripts de Squirrel .
Dado que Irrlicht no admite sonido por sí mismo, Ambiera también ha desarrollado irrKlang, una biblioteca de audio propietaria y no libre con una API similar a la de Irrlicht. [ 29 ] Desarrollado por el mismo grupo, irrEdit admite el uso de sonidos en niveles creados por irrEdit para su uso con DLL compiladas compatibles con irrKlang. Además, entre las creaciones de Ambiera se encuentra irrXML, el analizador XML de Irrlicht.
Muchas bibliotecas de física han tenido complementos y adaptadores escritos para Irrlicht, incluyendo Nvidia PhysX , Bullet y Open Dynamics Engine .
Podrá encontrar más extensiones en los foros de Irrlicht y en el proyecto irrExt, un proyecto paralelo de Irrlicht para complementos de propósito especial.
También existen algunas tecnologías nuevas en los foros, como el sombreado diferido o el mapeo de sombras . Muchos usuarios contribuyen con extensiones como Compute Shaders ( OpenGL 4.3) y Tessellation Shaders (Shader Model 5.0).
Proyectos que lo utilizan
- Arena of Honor , juego de disparos en primera persona de combate a muerte en 3D . [ 30 ]
- Amuleto tricolor , un juego 2D
- Bolzplatz 2006 de Xenoage Software, un juego de fútbol.
- Bugsnax , un juego de aventuras de colección de monstruos. [ 31 ]
- Build A World EDU , un juego educativo basado en escenarios, pero utiliza su propia versión extremadamente modificada y simplificada de Irrlicht. [ 32 ]
- Craft The World 2014, de Dekovir Entertainment, es un juego de mundo abierto que combina mecánicas de los juegos Terraria y Dungeon Keeper .
- Eve , un simulador de robot creado por el Grupo de Robótica de Inspiración Biológica (BIRG, por sus siglas en inglés) del Instituto Federal Suizo de Tecnología de Lausana.
- Galactic Dream: Rage of War , un juego comercial de estrategia espacial de Evolution Vault.
- Gekkeiju Online , un juego de rol multijugador de fantasía gratuito.
- H-Craft Championship , un juego de carreras de ciencia ficción de código abierto [ 33 ]
- irrlamb , un juego de física en 3D [ 34 ]
- Luanti , un juego de mundo abierto similar a Minecraft (que utiliza una bifurcación especializada para ello).
- Octodad: Dadliest Catch , un simulador cómico de paternidad.
- Proyecto Crono
- Schwarzerblitz , un juego de lucha en 3D lanzado en 2019 para PC con Windows. Está fuertemente inspirado en Dead or Alive y Soulcalibur .
- Sokoban Challenge , una versión en 3D del clásico juego de puzles Sokoban para Android.
- Star Ruler , unjuego 4X en el espacio.
- SuperTuxKart (desde la versión 0.7), un juego de carreras de karts en 3D; aunque desde la versión 0.9, STK utiliza una versión extremadamente modificada de Irrlicht, que incluye un renderizador completamente nuevo basado en OpenGL 3 llamado "Antarctica". [ 35 ]
- Tetris (versión para iOS ), un juego de Tetris de EA Mobile .
- El fin de Dyeus , un juego de aventuras de mundo abierto.
Véase también
Referencias
- ↑ "LTE Game Engine" . Ltestudios.com. Archivado del original el 13 de julio de 2011. Consultado el 13 de noviembre de 2011 .
- ↑ "Irrlicht For S60" . Sourceforge.net. 10 de diciembre de 2008. Consultado el 13 de noviembre de 2011 .
- ↑ "Anuncio sobre Irrlicht para iPhone" . Irrlicht.sourceforge.net . Consultado el 13 de noviembre de 2011 .
- ↑ "Adaptación de Irrlicht 1.8.4 para AmigaOS4 – Motor Irrlicht - Un motor 3D gratuito de código abierto" .
- ^ "Partida guardada/Sailfish-irrQml" . GitHub . 14 de mayo de 2019.
- ↑ "Irrlicht en Google Native Client" . Irrlicht.sourceforge.net . Consultado el 4 de junio de 2012 .
- ↑ "Foro de soporte de Irrlicht" . Irrlicht.sourceforge.net . Consultado el 13 de noviembre de 2011 .
- ↑ "Au3irrlicht" . Irrlicht3d.org. 7 de septiembre de 2010. Archivado del original el 28 de marzo de 2013. Consultado el 13 de noviembre de 2011 .
- ↑ "cppbIrrlicht" . Komradstudios.altervista.org. 23 de abril de 2009. Archivado del original el 25 de julio de 2011. Consultado el 13 de noviembre de 2011 .
- ↑ Peters, DJ (26 de diciembre de 2021). "Enlace FreeBASIC del motor 3D Irrlicht 1.8.6" . Foros de FreeBASIC . Consultado el 26 de marzo de 2023 .
- ↑ "GMIrrlicht" . Gmc.yoyogames.com. Archivado del original el 5 de noviembre de 2008. Consultado el 13 de noviembre de 2011 .
- ^ "Jirr: Irrlicht para Java" . Jirr.sourceforge.net . Consultado el 13 de noviembre de 2011 .
- ↑ "IrrLua, una interfaz Lua para Irrlicht" . Irrlua.sourceforge.net . Consultado el 13 de noviembre de 2011 .
- ↑ "Página del proyecto multiplataforma Irrlicht.Net" . Sourceforge.net . Consultado el 13 de noviembre de 2011 .
- ↑ "Irrlicht Lime" . Sourceforge.net . Consultado el 8 de abril de 2016 .
- ↑ "Irrlicht.Net" . GitHub.com . Consultado el 18 de mayo de 2020 .
- ↑ "Irrlicht 4 Delphi" . Irrlicht.sourceforge.net . Consultado el 13 de noviembre de 2011 .
- ↑ "IrrPascal" . Sourceforge.net . Consultado el 13 de noviembre de 2011 .
- ↑ "Irrlicht para Perl" . Search.cpan.org . Consultado el 13 de noviembre de 2011 .
- ↑ "Módulo de Python ctypes para el SDK de Irrlicht Engine" . Consultado el 28 de julio de 2020 .
- ↑ "Venom: Envoltorio de Irrlicht para Python" . Sourceforge.net . Consultado el 13 de noviembre de 2011 .
- ↑ "IrrRuby" . Irr.rubyforge.org. Archivado del original el 28 de mayo de 2004. Consultado el 13 de noviembre de 2011 .
- ↑ "Entrevista con el fundador de Irrlicht" . Linuxdevcenter.com. 9 de octubre de 2008. Consultado el 13 de noviembre de 2011 .
- ↑ "Miembros del equipo de desarrollo" . Irrlicht.sourceforge.net. 14 de febrero de 2006. Consultado el 13 de noviembre de 2011 .
- ↑ "Eliminación de DX8, CG y WinCE de Irrlicht" . Consultado el 13 de agosto de 2015 .
- ↑ Irrlicht aparece en Freashmeat
- ↑ "Motor 3D Irrlicht: Tutorial 5: Interfaz de usuario" .
- ↑ "Sitio web oficial del editor de escenas irrEdit" . Ambiera.com . Consultado el 13 de noviembre de 2011 .
- ↑ "IrrKlang - biblioteca de audio y sonido para C++, C# y .NET" .
- ↑ Arena of Honor en SourceForge
- ↑ Geisler, Kevin (13 de junio de 2020). "Kevin Geisler en Twitter: "@FrancyRanc @YoungHorses sí, es nuestro último partido en Irrlicht"" . Twitter . Consultado el 11 de octubre de 2022 .
- ↑ "Crea una página de GitHub para todo el mundo" . GitHub .
- ↑ "Irrlicht Engine - Un motor 3D gratuito de código abierto" .
- ↑ "Irrlicht en el árbol de origen de irrlamb" .
- ↑ "Motor Antártico" . Archivado del original el 28 de marzo de 2019. Consultado el 7 de noviembre de 2017 .
Enlaces externos
- Sitio web oficial
- Blog del autor
- Wiki de Irrlicht en irrlicht3d.org
Lecturas adicionales
Reseña de Irrlicht en heise.de (de pago)- Uso de Irrlicht con Java en Bright Hub
- Guía práctica de Irrlicht en Linux Journal (abril de 2009)
- Bifurcación centrada exclusivamente en GPGPU y OpenGL en GitHub
- API de grafos de escena 3D
- Software gratuito de gráficos 3D
- Software libre programado en C++
- Motores de juegos para Linux
- Software que utiliza la licencia zlib.
- Motores de videojuegos