Imanol Fotia

Software Engineer & Graphics Programmer


Epsilon Engine

Epsilon Engine© is a multi-platform, next-gen, on-development engine especifically designed to build high quality games and simulations. It uses OpenGL© 4.5 capabilities to deliver stunning graphics with great real time performance. It has been under development since 2015, and has constantly been catching up with the latest realtime, 3D techniques. It started as an alternative for Valve's © Source Engine ©, in attemps to develop a horror game. After game engines became more accesible for indie developers, Epsilon was in a short hiatus but it's development was quickly resumed.
Bokeh Depth of Field
Bokeh Depth of Field

Features

Screen Space Realtime Reflections
Screen Space Realtime Reflections

Technology

Epsilon Engine© is written almost in its entirety in C++. It takes advantage of latests OpenGL© 4.5 capabilities and ensures a seamless experience in both Windows© and GNU/Linux. The engine is capable of simulate global illumination in real time. Integration of post-processing effects is easy, thanks to it's flexible modular design. Because the engine uses a component based architecture, everything is an entity, and thus, models, sounds, effects, particles, etc, can be used to create a new entity, without having to write a single line of code to achieve a new creation. To extend even further these capabilities, Epsilon Engine uses the Lua script language, with the posibility of each entity having it's own script and therefore, behaviour.
Physically Based Rendering(PBR) workflow
Physically Based Rendering(PBR) workflow

Renderer

Epsilon Engine utilizes a hybrid deferred-forward renderer, this allows the usage of transparency and other effects and optimizations. For opaque objects, the geometry pass stores all objects' information in a large G-buffer, including global illumination and IBL data; An Uber shader is used in the lighting pass, this makes usage of the large data structure stored in the GPU that contains all lighting information needed for this pass. Epsilon Engine makes extensive usage of SSBOs(Shader Storage Buffer Object), allowing massive quantities of information stored in the GPU. The following passes are all modular, allowing to add or remove passes easily. For Screen Space Reflections, hardware mipmaping is heavily used to increase performance. For the forward pass, both projected texturing transparency and buffer blending are supported. Finally in the post-processig passes, the engine support a wide range of options, from FXAA for Anti-Aliasing to God rays and procedural lens flares, among others.
God rays and procedural lens flares
God rays and procedural lens flares

On-going Development

Epsilon Engine advances on a day to day basis, and those advances can be followed in my youtube channel. User feedback is always welcome and apreciated. In the near future, Epsilon Engine's tutorials and tips will be available.

Downloads

Downloads will be available soon, the whole package will contain not only the main executables but also the engine's tools, such as scene editor, model and texture converter and the virtual file system packager.

See also

Screen Space Reflections in Epsilon Engine