Irrlicht (pronunciado[ˈꞮʁlɪçt] en alemán) es un motor de juego de código abierto escrito en C ++ . Es multiplataforma , se ejecuta oficialmente en Windows , macOS , Linux y Windows CE y, debido a su naturaleza abierta, hay puertos disponibles para otros sistemas, incluidos FreeBSD , Xbox (hasta Irrlicht versión 1.8.1), PlayStation Portable , [1] Symbian , [2] iPhone , [3] AmigaOS 4 , [4] Sailfish OS a través de un contenedor QT / Qml, [5] yCliente nativo de Google . [6]
Desarrollador (es) | Nikolaus Gebhardt y col. |
---|---|
Lanzamiento estable | 1.8.4 / 9 de julio de 2016 |
Repositorio | |
Escrito en | C ++ |
Sistema operativo | Multiplataforma : Windows , Linux , macOS , Windows CE |
Tipo | Marco de aplicación |
Licencia | zlib / libpng -based |
Sitio web | irrlicht |
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] [ fuente no confiable? ] Existen enlaces no oficiales para muchos lenguajes, incluidos AutoIt , [8] C ++ Builder , [9] FreeBASIC , GameMaker Language , [10] Java , [11] Lua , [12] .NET , [13] [14] [15 ] Object Pascal ( Delphi ), [16] [17] Perl , [18] Python , [19] [20] y Ruby , [21] 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. [22] Solo después del lanzamiento 1.0 de Irrlicht en 2006, el equipo creció a diez miembros a partir de 2011, la mayoría de ellos desarrolladores. [23]
Irrlicht es un término alemán común para 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 será compatible después de 1.8.1, [24] terminando efectivamente el soporte para Xbox. Los renderizadores externos y los sistemas de ventanas se conectan a través de interfaces simples, dando lugar a un controlador de video Simple DirectMedia Layer (SDL) hecho por la comunidad y soporte para dispositivos iPhone y Symbian . El motor viene con una biblioteca de renderizadores de material estándar, lo que permite materiales de respaldo donde 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 funciones fijas heredados, se admiten los sombreadores de píxeles y vértices programables (1.1 a 3.0 y 4.0 con GLSL), programas de vértices y fragmentos ARB, materiales HLSL , Cg y GLSL .
Irrlicht admite muchos formatos de archivo. Cargará y mostrará archivos 3ds Max, modelos Quake 2 MD2, objetos Wavefront .obj, mapas Quake 3 .bsp, objetos Milkshape3D y archivos DirectX .x. [25] 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 agrupables arbitrarias vinculadas entre sí en un gráfico de escena . Estos nodos son responsables de su propio comportamiento, pero también pueden ser administrados por animadores, entre sí o manualmente por los usuarios.
Existen muchos tipos de nodos integrados y se pueden usar juntos para crear escenas complejas en interiores y exteriores. Los nuevos nodos son triviales de hacer y se pueden agregar en tiempo de ejecución; muchos tipos de nodos adicionales están disponibles en la comunidad. Los tipos de nodos empaquetados con Irrlicht incluyen un renderizador de terreno y cajas de cúpulas de cielo para renderizado en exteriores, partición de espacio binario (BSP) para renderizado en interiores, mallas animadas basadas en huesos, sombras de plantillas, vallas publicitarias y sistemas de partículas, superficies de agua y primitivas.
Un personalizable 2D interfaz gráfica de usuario (GUI) está disponible, el apoyo a muchos controles y la capacidad para que los usuarios conectar su propio (o comunidad hizo) widgets personalizados en tiempo de ejecución. El sistema de eventos interno de Irrlicht proporciona eventos de mouse, teclado, joystick y GUI sin tener que depender de bibliotecas adicionales. [26]
El acceso al sistema de archivos se abstrae, lo que permite el acceso a archivos y carpetas independientes de la plataforma y un acceso transparente a los archivos dentro de los archivos ZIP . Otras características de E / S incluyen un lector y escritor XML, la capacidad de tomar capturas de pantalla, manipular imágenes y mallas y luego guardarlas en varios formatos de archivo diferentes.
Irrlicht proporciona soporte para la detección de colisiones simple, incluida la selección del mouse, pero se advierte a los usuarios que esto no pretende reemplazar un motor de física con todas las funciones .
Extensiones de motor
Irrlicht fue diseñado para poder cargar y guardar la escena actual en un archivo XML; esto, combinado con el modelo de licencia de código abierto del motor, ha atraído a varios programadores y desarrolladores a crear editores mundiales para Irrlicht para simplificar el proceso de creación mundial. Un ejemplo de ello es el editor mundial irrEdit , desarrollado por Nikolaus Gebhardt y otros miembros de la empresa Ambiera. [27] IrrEdit contiene un generador de mapas de luz de radiosidad y una interfaz de secuencias de comandos que utiliza secuencias de comandos de Squirrel .
Dado que Irrlicht no admite sonido por sí mismo, Ambiera también ha desarrollado irrKlang, una biblioteca de audio patentada y no gratuita con una API similar a Irrlicht. [28] Desarrollado por el mismo grupo, irrEdit admite el uso de sonidos en niveles creados por irrEdit para su uso con archivos DLL compilados habilitados para irrKlang. Además, entre las creaciones de Ambiera se encuentra irrXML, el analizador XML de Irrlicht.
Muchas bibliotecas de física tienen complementos y envoltorios escritos para Irrlicht, incluidos Nvidia PhysX , Bullet y Open Dynamics Engine .
Se pueden 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 hay algunas nuevas tecnologías en 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 usan
- Amuleto de tricolor , un juego en 2D
- Bolzplatz 2006 de Xenoage Software, un juego de fútbol
- Craft The World 2014 de Dekovir Entertainment, un juego sandbox que combina la mecánica de los juegos Terraria y Dungeon Keeper
- Eve , un simulador de robot del Biologically Inspired Robotics Group (BIRG) del Instituto Federal Suizo de Tecnología en Lausana.
- Galactic Dream: Rage of War , un juego de estrategia espacial comercial de Evolution Vault
- Gekkeiju Online , un juego de rol multiusuario de fantasía gratuito
- H-Craft Championship , un juego de carreras de ciencia ficción de código abierto [29]
- Minetest , un juego de mundo abierto similar a Minecraft
- Octodad: Dadliest Catch , un simulador de paternidad cómico
- Schwarzerblitz , un juego de lucha en 3-D lanzado en 2019 para PC con Windows. Está muy inspirado en Dead or Alive y Soul Calibur.
- Sokoban Challenge , una nueva versión en 3D del clásico juego de rompecabezas 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 usa una versión extremadamente modificada de Irrlicht, que incluye un renderizador completamente nuevo basado en OpenGL 3 llamado "Antarctica" [30]
- Build A World EDU, un juego educativo basado en escenarios; sin embargo, utiliza su propia versión extremadamente modificada y simplificada de Irrlicht [31]
- Bugsnax , un juego de aventuras de colección de monstruos.
Ver también
- OGRO
- OpenSceneGraph
- Panda3D
- Delta3D
- Espacio cristalino
- Biblioteca de visualización
Referencias
- ^ "Motor de juegos LTE" . Ltestudios.com. Archivado desde el original el 13 de julio de 2011 . Consultado el 13 de noviembre de 2011 .
- ^ "Irrlicht para S60" . Sourceforge.net. 10 de diciembre de 2008 . Consultado el 13 de noviembre de 2011 .
- ^ "Anuncio sobre Irrlicht en iPhone" . Irrlicht.sourceforge.net . Consultado el 13 de noviembre de 2011 .
- ^ http://irrlicht.sourceforge.net/?p=1679
- ^ https://github.com/savegame/sailfish-irrQml
- ^ "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 desde el original el 28 de marzo de 2013 . Consultado el 13 de noviembre de 2011 .
- ^ "cppbIrrlicht" . Komradstudios.altervista.org. 23 de abril de 2009. Archivado desde el original el 25 de julio de 2011 . Consultado el 13 de noviembre de 2011 .
- ^ "GMIrrlicht" . Gmc.yoyogames.com . Consultado el 13 de noviembre de 2011 .
- ^ "Jirr: Irrlicht para Java" . Jirr.sourceforge.net . Consultado el 13 de noviembre de 2011 .
- ^ "IrrLua, A Lua front end a Irrlicht" . Irrlua.sourceforge.net . Consultado el 13 de noviembre de 2011 .
- ^ "Página del proyecto de plataforma cruzada de 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 ctypes python para Irrlicht Engine SDK" . Consultado el 28 de julio de 2020 .
- ^ "Venom: envoltorio Irrlicht para Python" . Sourceforge.net . Consultado el 13 de noviembre de 2011 .
- ^ "IrrRuby" . Irr.rubyforge.org. Archivado desde el 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 .
- ^ Características de Irrlicht en Freashmeat
- ^ http://irrlicht.sourceforge.net/docu/example005.html
- ^ "Sitio web oficial del editor de escenas irrEdit" . Ambiera.com . Consultado el 13 de noviembre de 2011 .
- ^ http://www.ambiera.com/irrklang/
- ^ http://irrlicht.sourceforge.net/2015/02/sci-fi-racer-coded-with-irrlicht-got-open-sourced/
- ^ "Motor de la Antártida" .
- ^ "Construir una página de GitHub del mundo" .
enlaces externos
- Página web oficial
- Blog del autor
- Wiki de Irrlicht en irrlicht3d.org
Otras lecturas
- Revisión de Irrlicht en heise.de (paywalled)
- Uso de Irrlicht con Java en Bright Hub
- Irrlicht cómo hacerlo en Linux Journal (abril de 2009)
- Bifurcación enfocada solo de GPGPU OpenGL en GitHub