Embedding
Overview
We explain how to emnbed Effekseer's runtime into another program.Windows
On the official website, we have released a compiled runtime with multithread setting. If you want runtime with other settings you need to compile yourself. Compiler only supports VisualStudio 2010 and later.
In the case of DirectX9
Please reset "Runtime/EffekseerRendererDX9.sln" according to the setting of the installation setting (multithread DLL etc.) and compile it. Currently DirectX SDK is essential. The project exists only for Visual C ++ 2013. When the compilation is successful, an include file is generated in "Runtime/include" and a library file is generated in "Runtime/lib".
In the case of DirectX11
Please reset "Runtime/EffekseerRendererDX11.sln" according to the setting of the installation setting (multithread DLL etc.) and compile it. Currently DirectX SDK is essential. The project exists only for Visual C ++ 2013. When the compilation is successful, an include file is generated in "Runtime/include" and a library file is generated in "Runtime/lib".
In the case of OpenGL
Please reset "Runtime/EffekseerRendererGL.sln" according to the setting of the installation setting (multithread DLL etc.) and compile it. The project exists only for Visual C ++ 2013. When the compilation is successful, an include file is generated in "Runtime/include" and a library file is generated in "Runtime/lib".
In the case of others
Common code exists in "Runtime/Effekseer" "Runtime/EffekseerRendererCommon". OpenGL code exists in "EffekseerRendererGL". Please prepare yourself and compile it according to your own environment.
Macro
__EFFEKSEER_RENDERER_GL_GLEW__ | Use glew's DLL version (except for Windows) |
__EFFEKSEER_RENDERER_GL_GLEW_S__ | Use glew's static version (except for Windows) |
__EFFEKSEER_RENDERER_GLES2__ | Use OpenGL ES2.0 |
__EFFEKSEER_RENDERER_INTERNAL_LOADER__ | Use loaders defined in internal |
Project settings
In the case of VisualC++
A directory which contains " Effekseer.h "," EffekseerRendererDX9.h "," EffekseerRendererGL.h " etc is specified as additional include directories. For DirectX 9 environment, include "Effekseer.h" "EffekseerRendererDX 9.h". For OpenGL environment, include "Effekseer.h" "EffekseerRendererGL.h". Also add the library to the reference.In the case of others
Please prepare your own settings according to your own environment.Sample
FAQ
I want to use Effekseer with left handed coordinate system.
Please refer to "Basic" in this help.
I want to change the effect playback speed for each effect.
Please use the "Effekseer::Manager::SetSpeed"
How can I extend the texture loading method?
Please refer to "Setting the custom loader" in this help.
I want to draw the effects individually in an arbitrary order.
Please execute "Effekseer::Manager::DrawHandle" instead of "Effekseer::Manager::Draw". To draw other libraries in the middle, execute "EffekseerRenderer::Renderer::ResetRenderState" before executing "DrawHandle" after the drawing is done.
Z buffer does not work.
In many cases, camera matrix setting and projection matrix setting are wrong.
The ribbon and the track become strange.
In many cases, the maximum number of instances at initialization is too small.
Instances with textures are not drawn in OpenGL version.
In the OpenGL version, the texture must have a mipmap. Please use "glGenerateMipmap" to generate it.