stringtranslate.com

Motor Irrlicht

Irrlicht (pronunciado [ˈɪʁlɪçt] en alemán) es un motor de juegos 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, están disponibles puertos para otros sistemas, incluidos 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 contenedor 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] [ ¿ fuente no confiable? ] 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 la renderización 3D a través de OpenGL , DirectX 8, 9 y rasterizadores de software internos. DirectX 8 no es compatible después de 1.8.1, [25] 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) 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 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 función fija heredados, se admiten sombreadores de píxeles y vértices programables (1.1 a 3.0 y 4.0 usando GLSL), programas de fragmentos y vértices ARB, HLSL , Cg y materiales GLSL .

Iluminación por píxel en Irrlicht
Mapas de luz e iluminación de vértices en Irrlicht, que representan una escena de mazmorra sencilla

Irrlicht admite muchos formatos de archivo. Cargará y mostrará archivos 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 formatos adicionales como complementos externos. Las luces, las cámaras y los objetos 3D se administran 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 que se pueden usar juntos para crear escenas complejas en interiores y exteriores. Es muy fácil crear nuevos nodos y se pueden agregar en tiempo de ejecución; la comunidad ofrece muchos tipos de nodos adicionales. Los tipos de nodos incluidos con Irrlicht incluyen un renderizador de terreno y cajas de cúpulas de cielo para renderizado en exteriores, partición binaria del espacio (BSP) para renderizado en interiores, mallas animadas basadas en huesos, sombras de esténcil, vallas publicitarias y sistemas de partículas, superficies de agua y primitivas.

Hay disponible una interfaz gráfica de usuario (GUI) en 2D personalizable , que admite muchos controles y la posibilidad de que los usuarios conecten sus propios widgets personalizados (o creados por la comunidad) 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. [27]

El acceso al sistema de archivos se abstrae, lo que permite el acceso a archivos y carpetas independientes de la plataforma y el acceso transparente a los archivos dentro de los archivos ZIP . Otras funciones de E/S incluyen un lector y escritor de 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 simples , incluida la selección con el mouse, pero se advierte a los usuarios que esto no pretende reemplazar a 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 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 scripts que utiliza scripts de Squirrel .

Como 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 Irrlicht. [29] IrrEdit, desarrollada por el mismo grupo, 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 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 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

Véase también

Referencias

  1. ^ "Motor de juegos LTE". Ltestudios.com. Archivado desde el original el 13 de julio de 2011. Consultado el 13 de noviembre de 2011 .
  2. ^ "Irrlicht For S60". Sourceforge.net. 10 de diciembre de 2008. Consultado el 13 de noviembre de 2011 .
  3. ^ "Anuncio sobre Irrlicht en iPhone". Irrlicht.sourceforge.net . Consultado el 13 de noviembre de 2011 .
  4. ^ "Puerto AmigaOS4 de Irrlicht 1.8.4 – Irrlicht Engine - Un motor 3D gratuito de código abierto".
  5. ^ "Partida guardada/Sailfish-irrQml". 14 de mayo de 2019.
  6. ^ "Irrlicht en Google Native Client". Irrlicht.sourceforge.net . Consultado el 4 de junio de 2012 .
  7. ^ "Foro de soporte de Irrlicht". Irrlicht.sourceforge.net . Consultado el 13 de noviembre de 2011 .
  8. ^ "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 .
  9. ^ "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 .
  10. ^ Peters, DJ (26 de diciembre de 2021). "Enlace de FreeBASIC al motor Irrlicht 3D 1.8.6". Foros de FreeBASIC . Consultado el 26 de marzo de 2023 .
  11. ^ "GMIrrlicht". Gmc.yoyogames.com. Archivado desde el original el 5 de noviembre de 2008. Consultado el 13 de noviembre de 2011 .
  12. ^ "Jirr: Irrlicht para Java". Jirr.sourceforge.net . Consultado el 13 de noviembre de 2011 .
  13. ^ "IrrLua, una interfaz de usuario de Lua para Irrlicht". Irrlua.sourceforge.net . Consultado el 13 de noviembre de 2011 .
  14. ^ "Página del proyecto multiplataforma Irrlicht.Net". Sourceforge.net . Consultado el 13 de noviembre de 2011 .
  15. ^ "Irrlicht Lime". Sourceforge.net . Consultado el 8 de abril de 2016 .
  16. ^ "Irrlicht.Net". GitHub.com . Consultado el 18 de mayo de 2020 .
  17. ^ "Irrlicht 4 Delphi". Irrlicht.sourceforge.net . Consultado el 13 de noviembre de 2011 .
  18. ^ "IrrPascal". Sourceforge.net . Consultado el 13 de noviembre de 2011 .
  19. ^ "Irrlicht para Perl". Search.cpan.org . Consultado el 13 de noviembre de 2011 .
  20. ^ "módulo de Python ctypes para el SDK de Irrlicht Engine" . Consultado el 28 de julio de 2020 .
  21. ^ "Venom: Irrlicht wrapper for Python". Sourceforge.net . Consultado el 13 de noviembre de 2011 .
  22. ^ "IrrRuby". Irr.rubyforge.org. Archivado desde el original el 28 de mayo de 2004. Consultado el 13 de noviembre de 2011 .
  23. ^ "Entrevista con el fundador de Irrlicht". Linuxdevcenter.com. 9 de octubre de 2008. Consultado el 13 de noviembre de 2011 .
  24. ^ "Miembros del equipo de desarrollo". Irrlicht.sourceforge.net. 14 de febrero de 2006. Consultado el 13 de noviembre de 2011 .
  25. ^ "Eliminación de DX8, CG y WinCE de Irrlicht" . Consultado el 13 de agosto de 2015 .
  26. ^ Irrlicht aparece en Freashmeat
  27. ^ "Irrlicht 3D Engine: Tutorial 5: Interfaz de usuario".
  28. ^ "Sitio web oficial del editor de escenas irrEdit". Ambiera.com . Consultado el 13 de noviembre de 2011 .
  29. ^ "IrrKlang - biblioteca de audio y sonido para C++, C# y .NET".
  30. ^ Arena de Honor en SourceForge
  31. ^ 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 .
  32. ^ "Construye una página mundial en GitHub".
  33. ^ "Irrlicht Engine - Un motor 3D gratuito de código abierto".
  34. ^ "Irrlicht en el árbol de fuentes de irrlamb".
  35. ^ "Motor de la Antártida". Archivado desde el original el 28 de marzo de 2019. Consultado el 7 de noviembre de 2017 .

Enlaces externos

Lectura adicional