ZenGL/de

From Free Pascal wiki

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


ZenGL | Tutorial 1 | Tutorial 2 | Tutorial 3 | Edit

Allgemein

ZenGL ist eine plattformübergreifende Game-Library und wurde entworfen, um notwendige Funktionen wie 2D-Grafiken, Ein- und Ausgabebehandlung, Sound, etc. bereitzustellen.

Unterstützte Betriebssysteme: GNU/Linux, Windows, macOS, iOS*, Android 2.1+*
Unterstützte Compiler: FreePascal, Delphi
Graphik API: OpenGL, OpenGL ES 1.x*, Direct3D 8/9
Sound API: OpenAL, DirectSound
Lizenz: Details

* - Nur in der svn-Version

Die Bibliothek wird zu diesem Zeitpunkt weiterentwickelt.

Links

Tutorial

Beachtung! Alle Beispiele sind in der heruntergeladenen Version der Bibliothek enthalten (in neuen Versionen können sie geringfügig abweichen, dies kann für die Arbeit des entwickelten Programms von entscheidender Bedeutung sein).

ZenGL Tutorial: Das ist das erste ZenGL Tutorial: Download, Installation, Quellpfade, Kompilieren (statisch oder mit so/dll/dylib) (Windows dll), und das erste Programm "Initialisation", das im ZenGL Paket enthalten ist.

ZenGL Tutorial 2: Im zweiten Tutorial wird gezeigt, wie man einen Font erstellt und diesen auf ein ZenGL Fenster zeichnet.

Features

 * Allgemein
   o so/dll/dylib oder statisches Kompilieren von ZenGL gemeinsam mit der Applikation
   o Rendern in ein eigenes oder bereitgestelltes Fenster
   o Logging
   o Laden von Resourcen aus Dateien oder aus dem Speicher
   o Eine einfache Möglichkeit, Unterstützung für weitere Resourcen hinzuzufügen.
 * Einstellen von
   o Antialiasing, Bildschirmauflösung, Bildwiederholrate und Vertikaler Synchronisation
   o Aspect Correction
   o Titel, Position und Größe des Fensters
   o Sichtbarkeit des Cursors im Fenster
 * Eingabe
   o Keyboard, Maus und Joystick
   o Behandeln von Unicode Texteingabe
   o Möglichkeit, die Eingabe auf den ASCII Zeichensatz zu beschränken
 * Texturen
   o Unterstützung für tga, png und jpg
   o Arbeitet korrekt mit NPOT Texturen
   o Kontrolle aller Filterparameter
   o Masking
   o Render Targets, um auf Texturen zu rendern.
 * Text
   o texturierter Unicode-Font
   o Rendern von UTF-8 oder ANSI Text
   o Rendern von Text mit Ausrichtungen und anderen Optionen, wie Größe, Farbe, Anzahl der Zeichen
 * 2D-Subsystem
   o batch render für High-Speed-Rendering
   o Rendern von verschiedenen "Primitives"
   o Sprite Engine
   o Rendern von statischen und animierten Sprites und Tiles (Kacheln)
   o rendering distortion grid
   o rendering sprites with new texture coordinates(with the pixel dimension and the usual 0..1)
   o control the blend mode and color mix mode
   o control the color and alpha of vertices of sprites and primitives
   o additional sprite transformations(flipping, zooming, vertices offset)
   o fast clipping of invisible sprites
   o 2D Kamera mit den Möglichkeiten zum Zoomen und Drehen. 
 * Sound
   o arbeitet mit OpenAL oder DirectSound, basierend auf der Konfiguration des Betriebssystems
   o correct work without soundcard
   o unterstützt wav und ogg als Sounddateien
   o Abspielen von Audiodateien in einem separaten Thread
   o Kontrolle über Lautspärke und Abspielgeschwindigkeit
   o moving sound sources in 3D space
 * Math
   o Ein Satz zusätzlicher mathematischer Funktionen
   o triangulation functions
   o Kollisionsfunktionen
 * Zusätzlich
   o Lesen und Schreiben von INI-Files
   o Funktionen um mit Dateien im Speicher zu arbeiten

In der neuen Version

  • Die Kompilierung für Android für FPC 3.2.0 und höher wurde korrigiert.
  • Der Hauptcode wurde verschoben, um die Bibliothek zu korrigieren
  • Bearbeitete Arbeit mit Windows 64
  • Kleinere Fehler behoben
  • Bearbeitete Demoversionen (für iOS wurden Demos nicht korrigiert, Demoversionen für Lazarus, FPC und Delphi wurden überarbeitet)
  • Eingeführt von DEFINE
    • define - USE_EXIT_ESCAPE - exit. Jetzt müssen Sie keinen zusätzlichen Code schreiben, um das Programm durch Drücken der Escape-Taste zubeenden
    • define - USE_INIT_HANDLE - um ZenGL in einem bereits erstellten Fenster (LCL/VCL) zu verwenden
  • Unterstützung für macOS Cocoa eingeführt
  • Bearbeitete Arbeit mit Timern
  • Bearbeitete Arbeit mit Schriftarten
  • Bearbeitete Arbeit mit LCL/VCL