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.