FMeX Save

FMeX : Delphi FMX 2D/3D features Addon

Project README

FMeX

FMeX (or Delphi FMX Extended) is a set of classes designed to optimize the performance and usability of the FMX library. FMeX is compatible with Delphi 10+

History

  • 20200601 - Demos fixed and tested on mobile (10.4 (android32/Ios64)
  • 20200304 - New Perlin's noise 3D "voxel" Demo (early)

Main features

  • Introduces TeCustomMesh, with "MergeFrom" method, for merging FMeX Mesh together into on and single Mesh. (Draw Call optimization)
  • FMX compatible
  • Show techniques to achieve good performance within FMX, with merging Ticks, and animation
  • Cadender, to control precise animation cadence (slow down motion, speed up, back to normal) (see Particle demo)

Dependancy :

  • GS.Core
  • Gx (TEMPORARY)

Author's Note :

As a "learning" base, if you find this lib cool, please "star" it ! It's free, and help to reference code, as well to make it more visible.

Exemples

3D Perlin's noise Demo.

Alt text

Obj Loader (Work in progress)

Attempt to replace the OBJ FMX loader which has some problem for loading large file (perf(!) and materials behaviour)

Alt text

Alt text

Spine Loader (Work in progress)

Attempt to adapt an existing Spine loader. (esotericsoftware.com) -> Used cool unit form Dan (dan.soft.studio "a_t" gmail.com): -> After compile, please put goblins.xxx and goblins-[anim].xxx into binary dir. This is a test only, and certainly spine had no futur application in FMeX.

Alt text

Merged Mesh

As a TeCustom.MergeFrom(...) capabilities, see Stress Cube demo. With a less than a middle class usual SoHo desktop PC computer, thousands of cube limits could be reached. It could be a good base for a Cube Voxel Engine. Note that is is a raw rendering, there are no geometric optimization at all. And it need it. :)

Alt text

Merged Mesh in a real case

this example implements a 2d particle rendering : Logic side is processed on CPU, and rendering side prepares all Particles in large Merged Mesh, which is manipulated runtime by CPU, and drawing in one "low level" call. (see FMeX.Particles2D.pas)

Alt text

Open Source Agenda is not affiliated with "FMeX" Project. README Source: VincentGsell/FMeX
Stars
38
Open Issues
0
Last Commit
3 years ago
Repository

Open Source Agenda Badge

Open Source Agenda Rating