Motor de Literion
Motor C ++ 3D desarrollado durante la maestría en el desarrollo de los videojuegos de AAA

Reflejos
- Crear, guardar y cargar escenas.
- Cree GameObjects y modifique sus comportamientos utilizando el sistema de componentes.
- Explore la escena utilizando una cámara similar a la unidad.
- Configurar diferentes propiedades del motor: renderizador, gestión del tiempo, ...
Instalación
- Descargue el último lanzamiento (o cualquier versión que desee) de la sección de versiones.
- Extraer
Build.zip . - Ejecutar
LittleOrionEngine.exe .
Uso
Consulte nuestro wiki para aprender a usar el motor.
Configuración de desarrollo
Para hacer eso, asegura que tengas lo siguiente:
- Una computadora.
- Una tarjeta gráfica con soporte de OpenGL.
- VisualStudio 2017 o superior.
Que contribuye
Debido a que este es un proyecto académico no es posible contribuir directamente a este repositorio. Dijo eso, siéntase libre de desembolsarlo (https://github.com/unnamed-company/littleorionengine/fork) y expandirlo a su manera.
Autores
Mario Fernández Villalba
| Anabel Hernández Barrera
| Enrique Alexandre González Sequeira
| Joan Ginard Mateo
| Jordi Sauras
| Jordi Romagosa
| Toni Ferrari Juan
|
Luis Moyano
| Marco Rodríguez
| Artemis Georgakopoulou
| Pau Casas García
| Raúl gonzález
| Ricard Vivó
| Vidal Melero
|
Metodología de desarrollo
Este proyecto se desarrolló después de la filosofía de las metodologías ágiles. Si está interesado en conocer la distribución de tareas, ¡no dude en visitar nuestro tablero Trello!
Construido con
- SDL 2.0 - Se utiliza para administrar la creación y la entrada de las ventanas.
- GLEW 2.1.0 - Se utiliza para administrar las extensiones de OpenGL.
- Mathgeolib 3.0.0 - Solía hacer las matemáticas.
- Estimado IMGUI 1.73 - Solía construir la GUI.
- IMGUI FileBrowser: se usa para abrir el directorio de archivos con IMGUI.
- Diablo 1.8 - Se usa para cargar imágenes.
- Assimp 5.0 - Se utiliza para cargar modelos 3D.
- Font Awesome 5 - Se usa para mostrar íconos elegantes.
- Encabezados de icono Font CPP: se utiliza para importar iconos impresionantes de fuentes en C ++.
- PCG: se usa para generar buenos números aleatorios en C ++.
- Rapidjson 1.1.0 - Se usa para manejar archivos JSON.
- Dibujo de depuración: se usa para dibujar formas básicas.
- par_shapes: se usa para generar primitivas básicas.
- IMGUIZMO - Se usa para dibujar Gizmos.
- Physfs 3.0.2 - Se utiliza para administrar el sistema de archivos.
- Física de balas: se usa para simular la física.
- SPDLOG - Se usa para registrar cosas.
Licencia
Este proyecto tiene licencia bajo la licencia MIT; consulte el archivo de licencia para obtener más detalles.
Historia de lanzamiento
- [1.0.1] erradicar los errores y el pulido
- Muchas correcciones de errores.
- Controles sintonizados para brindar la mejor experiencia de usuario.
- Mejoras de rendimiento al cargar recursos.
- [1.0.0] V1.0.0 La versión está aquí!
- Materiales de malla. Mesh tiene su propio material, que almacena diferentes texturas y parámetros de luz.
- Nuevo
ComponentLight , que representa una fuente de luz para la escena. Se usa a lo largo de los materiales de malla. - Recolección del ratón. Los objetos de juego se pueden seleccionar haciendo clic en ellos en la ventana de escena.
- Gizmos. Se utilizan para modificar la transformación del objeto seleccionado.
- [0.2.2] Archivos binarios y serialización de la escena
- Mejor gestión de recursos.
- Los activos se transforman en menos formato de consumo espacial.
- Nuevo caché que evita la duplicación de recursos.
- Serialización de una escena, que permite cargar y guardar escenas.
- [0.2.1] Acelerando el motor!
- Nuevo módulo Modulecamera. Contiene frustums de cámara que se pueden conectar a GameObjects.
- Dos nuevas pestañas, escena y juego. El primero contiene la escena que se ve desde la cámara del editor, mientras que el posterior contiene la escena que se ve desde la cámara de juego.
- Frustum sacrificando. Con esta mejora, las mallas que están fuera de la cámara se descartan en el proceso de renderizado.
- Modos de Camera Clear. La cámara se puede limpiar en un skybox o un color liso.
- La textura se representa utilizando una textura en lugar de primitivas OpenGL.
- Quadtree y Octtree. Con esta mejora, podemos acelerar aún más el proceso de renderizado al reducir el número de cheques.
- Nuevo módulo Moduledebug. Contiene funciones de depuración útiles.
- [0.2.0] y había gameObjects
- GameObjects entran. Cada gameObject representa una entidad que puede modificarse utilizando componentes.
- Los componentes son objetos que contienen diferentes piezas de entidades, como mallas, materiales, etc.
- Nueva ventana de jerarquía que representa la jerarquía de colocación de la escena.
- Ventana de propiedades renovadas. Aquí se pueden modificar los parámetros del componente.
- [0.1.5] Final 0.1 Versión (esta es la única maestra)!
- Se corrigió varios errores.
- Varios refactores para seguir buenas prácticas de C ++.
- Readme súper genial.
- [0.1.4] Nuevo registro, Preparaciones para la versión final de 0.1 Alpha!
- Registro renovado. Muestra mensajes de una manera más clara y legible.
- Los mensajes de depuración se capturan de Assimp y OpenGL.
- Filtro de mensajes de Soruce!
- La textura del modelo se puede sobrescribir arrastrando y dejando caer un archivo PNG en la ventana del motor.
- [0.1.3] Wow UI, muchas opciones de configuración
- Nueva gui hermosa.
- Muchas opciones de configuración nuevas para diferentes módulos (cámara, render, ...).
- La escena se representa en una ventana separada.
- Las propiedades del modelo se muestran en una nueva ventana.
- La velocidad y el enfoque de la cámara se calculan con respecto al tamaño del modelo cargado.
- [0.1.2] El tiempo comienza a fluir, inminentes se muestra en el horizonte ...
- Módulo de tiempo agregado, que controla el flujo de tiempo. Implementa dos relojes, el reloj en tiempo real y el reloj del juego.
- El tiempo se puede pausar y escalarse Foward One Frame. También se puede cambiar la escala de tiempo.
- FPS puede ser limitado.
- Comenzó una nueva implementación de GUI. Se agregó información nueva a la configuración de la cámara.
- [0.1.1] Esto se trata de la carga del modelo y una cámara
- Carga de modelo mejorada. Es posible cargar modelos arrastrando y dejando caer sus archivos .fbx en la ventana del motor. La cámara se ampliará en consecuencia a las dimensiones del nuevo modelo.
- Controles de cámara mejorados. Presionar F enfocará la cámara en el modelo cargado. Además, presionar ALT hará que la órbita de la cámara alrededor del modelo actual.
- Caja delimitadora agregada. Presionar B habilitará/deshabilitará el cuadro delimitador del modelo actual.
- [0.1.0] ¡Aquí viene la versión base!
- Puede cargar modelos de archivos FBX utilizando una textura difusa.
- La cámara se puede controlar con estilo de unidad.
- El motor tiene una interfaz de usuario básica con varias opciones de configuración y depuración.