Effekseer integration for Castle Game Engine.
(See Releases section) For lazy people ;). This contains binaries for windows (i386, x86_64), linux (x86_64) and android (armeabi-v7a, arm64-v8a), built with -O3 optimization.
Import CastleEffekseer.pas
, effekseer.pas
and corresponding binaries into your project. Add CastleEffekseer
unit in your code. The unit contains TCastleEffekseer
, which is descendant of TCastleSceneCore
, you can use it to load effects like how you normally load model with TCastleScene
.
Effect := TCastleEffekseer.Create(Application);
Effect.Loop := False; // Do not loop the effect
Effect.ReleaseWhenDone := True; // Automatically free Effect when it's done playing
Effect.URL := 'castle-data:/effect/smoke.efk';
Viewport.Items.Add(Effect);
Global variables that can be set in initialization
block:
EfkMaximumNumberOfSprites
: Maximum number of sprites, default is 8192EfkDesktopRenderBackend
: Desktop render backend, default is OpenGL 2.EfkMobileRenderBackend
: Mobile render backend, default is OpenGL ES2.EfkUseCGEImageLoader
: Use Castle Game Engine's TCastleImage to load images, default is True. If set to False then it will use stb as loader.
It's also integrate in the editor. You can put CastleEffekseer
in editor_units in your CastleEngineManifest.xml
, and it will register new component Effkseer Emitter
.
This section is for people who want to build Effekseer dynamic library. I am not really good at cmake, and this is written with Windows and cmake-gui in mind.
- Clone our modified Effekseer runtime from https://github.com/castle-engine/Effekseer/
Generate makefiles, remember to enable BUILD_WRAPPER
, BUILD_SHARED_LIBS
, USE_OPENGL3
(for desktop), USE_OPENGLES2
(for mobile platform). The rest of the flags can be disabled.
Make sure to include necessary libraries in CMAKE_CXX_STANDARD_LIBRARIES
, for example:
- Windows:
-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 -lopengl32 -lglu32 -lwinpthread
- Android:
-latomic -lm -landroid -lEGL -lGLESv2
For Linux, need to add -fPIC
flag to CMAKE_CXX_FLAGS
.
If everything build successfully, the result library can be found in wrapper
directory.
- Sound: I don't plan on including Sound support at the moment.