Zengl Version 4.2 + MacOS Cocoa - Beta Version + Green Engine v1.0
Rus: This project moved to Sourceforge. Due to the transition of GitHub to two -factor authorization - here I archive.
English: This Project Has Moved to Sourceforge. Due to Github's Transition to Two-Factor Authentication, I'M Archiving It Here.
Attention!!! This version has undergone many changes. The code for MacOS-Carbon is excluded. The libraries of OGG, Vorbis, Thera, Libzip for Android ARM32/ARM64/X86/X86_64 are collected. There may be problems with the launch on MacOS-Cocoa, this will be corrected. You can use the Zengl 3.30 version, it is most stable, but does not support updates for Android.
Attenation !!! This Version Has Undergone Many Changes. Excluded Code for MacOS-Carbon. Compiled and Added Libraries Ogg, Vorbis, Thera, Libzip for Android ARM32/ARM64/X86/X86_64. There may be problems with running on macos-cocoa, this will be fixed. You can us Zengl Version 3.30, it is the most Stable Version But Support Android Updates.
English
1. ABOUT
2. Features
3. Green Engine
Rus
1. About Zengl
2. The capabilities of the library
3. Green Engine
ENG:
ABOUT:
Zengl 3.12 - Version that Also Supports iOS.
Google Arhive
Zengl - it is a Library That Creates Window Context for working with Opengl on Different Platforms.
Important to Know! You doct Need to Know Opengl to Use this Library. The Zengl Library Provides Many Library Features for Any Programmer Who Knows Pascal and Doges Not Know Opengl.
DEVELOPMENT ENVIRONMENT
- Lazarus/Freepascal
- Delphi
Supported Platforms for Lazarus/Freepascal:
- Windows 32/64
- Linux 32/64
- Android - ARM32 (V5, V6, V7A)/ARM64 (V8A)/x86/x86_64
- Macos Cocoa - Beta Version
Supported Platforms for Delphi:
- Windows 32 (Coome Demos Will Probably Work with Windows 64 Too, But Certainly Not All)
See the Changes in the Update_zengl.txt File. SRRY, The Information IS Only in Russian. :(
Important Update: This Version Has Updated Opegl To The Latest Version As Per End of 2021. All Extensions have Also Been Updated. Files: zgl_pasopengl.pas , zgl_glu.pas , zgl_glx_wgl.pas , zgl_gltypeconst.pas , gldefine.cfg .
Ways to Work with 3D Were Not Implemented. You Will Need To Do this Manully or Set Oglmode to 3. I Havenat Tested it! You can rewrite the produceder set3dmode (FOVY: SINGLE = 45); And Set All the Parameters Yourself.
Clicking on the Image Will Take You to the Video. What I Redo The 3rd Demo. At the end of the video, it show that you can make multiple input fields.

Features:
- Main
Can Be Used as So/Dll/Dylib Or Statically Compiled with your application
Rendering to Own Or Any Other Prepared Window
Loging
Resource Loading from Files, Memory and Zip Archives
Multithread Resource Loading
Easy Way to Add Support for New Resource Format - Configuration of
Antialiasing, Screen Resolution, Refresh Rate and Vertical Synchronization
Aspect Correction
Title, Position and Size of Window
Cursor Visibleity in Window Space - Input
Handling of Keyboard, Mouse and Joystick Input
Handling of Unicode Text Input
Possibility to Restrict the Input to the Latin Alphabet - Textures
Supports TGA , PNG , JPG and PVR
Correct Work with Npot Textures
Control The Filter Parameters
Masking
Render Targets for Rendering Into Texture - Text
Textured Unicode Font
Rendering UTF-8 Text
Rendering Text with Alignment and Other Options Like Size, Color and Count of Symbols - 2D Subsystem
Batch Render for High-Speed Rendering
Rendering Different Primitives
Sprite Engine
Rendering Static and Animated Sprites and Tiles
Rendering Distortion Grid
Rendering Sprites with New Texture Coordinates (with the pixel dimension and the Usual 0..1)
Control The Blend Mode and Color Mix Mode
Control The Color and Alpha of Vertices of Sprites and Primitives
Additional Sprite Transformations (Flipping, Zooming, Vertices Offset)
Fast Clipping of Invisible Sprites
2D Camera with Ability to Zoom and Rotate the Scene - Sound
Works Through Openal Or Directsound; depends on configuration or os
Correct Work Whathout SoundCard
Supports WAV and OGG AS Sound Sample Formats
Playing Audio Files in Separate Thread
Control Volume and Playback Speed
Moving Sound Sources in 3D Space - Video
Decoding Video Frames Into Texture
Supports Thera Codec in OGV Container - Math
Basic Set of Additional Math Functions
Triangulation Functions
Basic Set of Collision Functions - Additional
Reading and Writing ini Files
Functions for Working with Files and Memory
Green Engine:
GE is A Library That Works on Top of Zengl Features. Currently, It Includes An Input with Additional Functions for it, and a module for working with color, What the Are Standard Colors and You Can Set You Own.
Comunication: [email protected]
You can Also Contact Me on the Lazarus Forums and Express Your Wishes and Shortcomings.
YOU Can Support Through Sberbank: 220222009519855520
The Source Code Is on Sourceforge, The Project is No Longer Supported on Github.
Prlease Write ABOUT THE ERRORS Found in the Process of Working with Zengl. )))
Rus:
About Zengl:
Zengl 3.12 - a version that also supports iOS.
Google archive
Zengl is a bibilothek creating the context of the window for working with OpenGL on different platforms.
It is important to know! To use this library, you do not have to know Opengl. The Zengl library provides many library opportunities for any programmer who knows Pascal and does not know OpenGL.
Development environment
- Lazarus/Freepascal
- Delphi
Supported platforms for Lazarus/Freepascal:
- Windows 32/64
- Linux 32/64
- Android - ARM32 (V5, V6, V7A)/ARM64 (V8A)/x86/x86_64
- Macos Cocoa - Beta Version
Supported platforms for Delphi:
- Windows 32 (probably some demo versions will work with Windows 64, but definitely not all)
See the changes in the update_zengl.txt file.
Important update: in this version, OpeGL is updated to the latest version according to the end of 2021. All extensions are also updated. Files: zgl_pasopengl.pas , zgl_glu.pas , zgl_glx_wgl.pas , zgl_gltypeconst.pas , gldefine.cfg .
No 3D work was implemented. You will have to do it manually or equal to OGLMODE . I did not check the performance! You can rewrite the SET3DMODE (FOVY: SINGLE = 45) procedure; And set all the parameters ourselves.
When clicking on the picture, go to the video. Where I am remaking the 3rd demo version. At the end of the video, it is shown that you can make several input fields.

Library capabilities:
- Basic
The library can be compiled statically to the project, or to be used as a dynamic library (in this version only static compilation)
Rendering both in its own and in a pre -prepared window (LCL, VCL)
Event magazine
Loading resources from files, memory and zip archives
Multi -flow loading resources
the ability to expand the number of supported data formats - The possibility of setting graphics
Antialiasing, resolution and screen renewal (Screen Resolution, Refresh Rate) as well as control vertical synchronization (V-Sync)
Correction of the proportions of the displayed image relative to the specified sizes
The heading control and size of the window, the availability of automatic centering
Cursor visibility control within the window - Input devices
Processing the events of the keyboard, mouse and joystick
Entering Unicode symbols
the ability to limit the input of only Latin layout - Conclusion of textures
support for TGA , PNG , JPG and PVR formats
Support for textures is not multiple of 2 (Non Power of Two)
Filtering parameters
Work with masks
Render targets drawing into textures - Text output
implementation of unicode fonts based on textures
Conclusion of UTF-8 text
retreat management, size, color of the vertices and the number of characters in the text - 2D subsystem
Batch Render to increase rendering performance
rendering of the main types of primitives
Spit engine
Conclusion of static and animated sprites and tiles
Rendering of a transforming grid
Spring rendering with manual indication of texture coordinates (with pixel dimension and usual 0..1)
Blending and mixing mode control
the ability to prescribe color and alpha separate peaks of sprites and primitives
additional transformations of sprites (mirror reflections, increase, offset)
Quick detachment of sprouts going beyond visibility
the presence of a 2D camera with the possibility of increasing and turning the contents of the scene - Sound
Sound output using Openal or Directsound libraries (depends on the design settings and the operating system)
the possibility of proper operation, even in the absence of a sound card
support for WAV and OGG formats
Stream reproduction of audio files
Sound volume control and reproduction rate
Three -dimensional positioning of the sound source in space - Video
Decoding video screensaver in textures
supporting Thera in OGV format - Mathematics
Basic set of auxiliary mathematical functions
necessary set of functions for triangulation
The simplest functions of collision verification - Additionally
Reading and writing ini files
Additional functions for working with files and memory
Green Engine:
GE is a library that works of Zengl. At this time, it includes input with additional functions for it, and a module for working with color, where there are standard colors and you can set your own.
Communication: [email protected]
You can also contact me on Lazarus forums and express wishes and flaws.
You can support through Sber: 2202200951985520
The source code is on SourceForge, the project is no longer supported on GitHub.
Please write about errors identified in the process of working with Zengl. )))