ZenGL/es

From Free Pascal wiki
Jump to navigationJump to search

Deutsch (de) English (en) español (es) français (fr) русский (ru)


ZenGL/es | Tutorial 1 | Tutorial 2 | Tutorial 3 | Edit

Principal

ZenGL - librería de desarrollo de juegos multi-platforma, diseñado para proporcionar la funcionalidad necesaria para la generación de gráficos 2D, manejo de la entrada, de la salida, del sonido, etc

SO Soportados: GNU/Linux, Windows, macOS
Compiladores soportados: FreePascal, Delphi
API de Gráficos: OpenGL, Direct3D 8/9
API de Sonido: OpenAL, DirectSound
Licencia: zlib

* Disponible en versión svn

Enlaces

Tutorial

¡Atención! Todos los ejemplos están contenidos en la versión descargada de la biblioteca (en las nuevas versiones pueden diferir levemente, pero son fundamentales para el trabajo del programa desarrollado).

ZenGL Tutorial/es: Este es un primer tutorial para ZenGL: descarga, instalación, rutas del código fuente, compilación (estática o con so/dll/dylib) (Windows dll), y el primer programa 'Inicialización' que viene con ZenGL.

ZenGL Tutorial 2/es: Este es el segundo tutorial que muestra como crear una fuente y dibujar texto en la ventana.

Caracteristicas

 * Principal
   o puede ser usado como so/dll/dylib o estáticamente compilado con tu aplicación
   o renderizar para la propia o alguna otra ventana preparada
   o logging
   o carga de recursos desde archivos y memoria
   o forma fácil para agregar soporte para nuevos formatos de recursos
 * Configurción de
   o antialiasing, resolución de pantalla, tasa de refresco y sincronización vertical
   o corrección del aspecto
   o título, posición y tamaño de la ventana
   o visibilidad del cursor en el espacio de la ventana
 * Entrada
   o manejar entrada del teclado, ratón y mando
   o manejar entrada de texto Unicode
   o posibilidad de restringir la entrada al alfabeto Latín
 * Texturas
   o soporta tga, png y jpg
   o trabaja correctamente con texturas NPOT
   o controla los parámetros de filtros
   o máscaras
   o objetivos de renderizado para renderizar en textura
 * Texto
   o fuente-Unicode texturizada
   o renderizar texto UTF-8 o ANSI
   o renderizar texto con alineamiento y otras opciones como tamaño, color y conteo de símbolos
 * Subsistema-2D
   o renderizado en lote para renderizado de alta velocidad
   o renderizar diferentes primitivas
   o motor de sprites
   o renderizar sprites y azulejos estáticos y animados
   o renderizar grilla de distorsión
   o renderizar sprites con coordenadas de nueva textura (con la dimensión del píxel y el usual 0..1)
   o controlar el modo de mezcla y mezcla de color
   o controlar el color y opacidad de los vertices de sprites y primitivas
   o transformaciones adicionales de sprite (girado, zoom, desplazamiento de vértices)
   o recorte rápido de sprites invisibles
   o camara 2d con la capacidad de zoom y rotar la escena
 * Sonido
   o trabaja a través de OpenAL o DirectSound, dependiendo de la configuración o el SO
   o trabaja correctamente sin placa de sonido
   o soporta wav y ogg como muestras de sonido
   o reproducir archivos de audio en hilos separados
   o controlar el volumen y velocidad de reproducción
   o mover fuentes de sonido en un espacio 3D
 * Matemática
   o set básico de funciones matemáticas adicionales
   o funciones de triangulación
   o set básico de funciones de colisión
 * Adicional
   o leer y escribir archivos ini
   o funciones para trabajar con archivos y memoria

En la nueva versión

  • Compilación corregida para Android para FPC 3.2.0 y superior.
  • Se movió el código principal para corregir la biblioteca.
  • Trabajo fijo con Windows 64
  • Corregidos errores menores
  • Versiones de demostración editadas (para iOS, las demostraciones no se corrigieron, se revisaron las versiones de demostración para Lazarus, FPC y Delphi)
  • Introducido por DEFINE
    • define - USE_EXIT_ESCAPE - salir. Posibilidad de no escribir código adicional para salir del programa presionando la tecla Escape
    • define - USE_INIT_HANDLE - para usar ZenGL en una ventana ya creada (LCL/VCL)
  • Soporte introducido para macOS Cocoa
  • Cambiado: trabajar con temporizadores, trabajando con fuentes, trabajar con LCL/VCL.