kecmaster / GLZScene

Multimedia library for Lazarus - 2D, 3D OpenGL/Vulkan and Audio

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GLZScene (Available soon)

2D and 3D solution (Software, OpenGL, Vulkan) multiplatform for Lazarus & amp; 32 and 64 bit FPC

GLZScene is partially based on GLScene. A project of which I am also a part.

GLZScene is a Development Library for 2D and 3D Multiplatform Graphics Applications (Software, OpenGL, Vulkan)

GLZScene has only been developed for Lazarus.

GLZScene therefore takes the foundations of GLScene by adding optimizations, as well as major additions such as optimized management of Bitmaps and totally independent of FPC and Lazarus.


 Capabilities:

### 2D

  • Manipulation in 32Bits in RGBA or BGRA color format (Linux / Windows) to optimize display performance
  • Display with or without transparency depending on the system and the interface.
  • Color conversion in several formats (from 1 to 64 bits per pixel)
  • rgba, bgra (WIP : hsl, hsv, cmyk, cie, yuv, lab, lch )
  • Supported image formats:
  • BMP, PCX, JPEG, PNG, TGA, XPM, RLA, PixMap
  • WIP : TIFF, ICO, CUR, DDS, OC3T, KTX, PCD, PSD, XCF
  • Fast and Optimized pixel access
  • Draw shapes lines, rectangles, circles, polygons, texts, with or without softening
  • Fill with solid color, pattern, gradient, or by texture veneer
  • Many filters on the colors (+ of 50) available: Brightness, Saturation, Inversion, Grayscale, ...
  • Apply special effects (about 25)
  • Several modes of transformations:
    • Resize : Stretch, StretSmooth, DownSample, Resample ( more than 20 interpolations filters supported : Box, Hermit, Cubic, Lanscoz, Mitchell, Hagraam, Kayser...)
    • WIP : UpSample (XBR), LiquidRescale (Seam Carving)
  • Rotate, mirror horizontal, vertical, deformation Quad...

### 3D

  • WIP : Software rendering engine or OpenGL version 3.3 and higher only (Vulkan not implemented yet)
    • WIP :Supported 3D model format: OBJ, 3DS, STL, PLY...
    • WIP : Animated model formats supported: SMD, MD2, MD5
    • Basic 3D objects: Cube, Sphere, cone, cylinder, ...

Software rendering engine:

OpenGL rendering engine:

  • GLSL Shader version 330 minimum
  • VAO, VBO, PBO, FBO, SSBO, ...
  • Default Shader Capacity
  • Several light sources
  • Diffuse illumination modes supported: Flat, Lamber, Phong, blinn-phong, cook-torrence, oreyn-nayar
  • Supported specular illumniation mode: Lambert, Phong, Anisatropic, Fresnel, ...
  • Bump Mapping
  • Rendering Shadows
  • ...

### Others informations :

  • Procedures and mathematical functions of basic, trigonometric, matrix... are optimized in assembler ( SSE3 / AVX)
  • Access to files is optimized by the use of 'FileMapping' (Win Only at this time)
  • Contain some additional useful objects and components

Licence : MPL


  • 'Man should put as much effort into simplifying his life as he makes it more complicated' - Henri Bergson
  • 'Many books would have been clearer if they had not wanted to be so clear' - Emmanuel Kant
  • 'Simplicity is supreme sophistication' - Leonardo da Vinci
  • 'What is easy to understand or do for you, is not necessarily for the other.' - My father

About

Multimedia library for Lazarus - 2D, 3D OpenGL/Vulkan and Audio

License:Mozilla Public License 2.0


Languages

Language:Pascal 92.5%Language:C++ 5.3%Language:Assembly 1.9%Language:HTML 0.2%Language:PHP 0.1%Language:Batchfile 0.0%