A downloadable GameMaker asset

Buy Now$35.00 USD or more


The Eclipse Light Engine is a high-end lighting solution for the GameMaker (GM) engine.  It uses deferred rendering and the metallic/roughness workflow to render PBR lighting.

Features:

  • Dynamic lights
  • Highly configurable light object with prefabs for: point, spot, line, cone, and area
  • Automatic day and night cycle with configurable speed, sun rise/set windows, direction, intensity, and more
  • Soft-shadows with per light shadow hardness
  • Bloom lighting and emissive textures
  • Lit and emissive particle system built on GM's built-in particle system
  • 3D calculated shadows with adjustable shadow length
  • Static and dynamic shadows
  • Primitive and polygon shadow shapes (easily created within the GM IDE)
  • Textured material objects (primitive and polygon)
  • Adjustable render resolution
  • Compatible with all platforms (includes GLSL ES shaders)

Learn more about Eclipse:

Eclipse tutorials and information - Learn more about Eclipse and how to configure its various components.

Eclipse tech DEMOFree download which demonstrates many of the engines features.

PBR Material Packer Tool - Free tool for packing materials and baking emissive into normal maps for use in Eclipse (also included in Eclipse download archive).

Enhance Pixel Art Games!



Hardware Considerations:

Eclipse is highly optimized, GPU bound-lighting solution.  Performance and system requirements are relative to the rendering resolution and target platform.  Consider GPUs such as the following (or newer) when developing with Eclipse:

Maker Low-endRecommended
NVIDIAGeForce GTX 750GeForce GTX 1060
AMDRadeon R8 290xRadeon RX 480

Technical Advantages:

Eclipse packs 1-bit shadow maps into 32-bit maps to achieve a lower sample rate.  This also allows light rendering to performed in batches which lower draw calls and significantly reduces sample rate for PBR lighting. 

On current platforms for which GM supports multiple render targets (MRT) there is also a performance advantage where some of the deferred rendering can be performed in a single draw call.  Emissive and bloom also take advantage of MRT and are pre-composited concurrently during the PBR lighting calculations.

Purchase

Buy Now$35.00 USD or more

In order to download this GameMaker asset you must purchase it at or above the minimum price of $35 USD. You will get access to the following files:

Eclipse Light Engine for GameMaker 137 MB

Development log

Comments

Log in with itch.io to leave a comment.

Greetings. Great work on this engine. I've been messing around with the new rollback multiplayer functionality (GM beta) and noticed that the engine doesn't work with managed objects. The new multiplayer function won't allow global or local variables (basically anything beyond temporary variables) to be set or modified within the draw function of objects. This causes an error to be thrown. 

I switched the light_engine to be unmanaged and avoided the above error (from the multiplayer issue), but  a new error was thrown.


############################################################################################

ERROR in

action number 1

of Other Event: User Defined 11

for object light_engine:

vertex_submit: Illegal vertex buffer specified.

 at gml_Object_light_engine_Other_21 (line 72) -                                    vertex_submit(_v_buffer, pr_trianglelist, -1);

############################################################################################

gml_Object_light_engine_Other_21 (line 72)

gml_Object_light_engine_Draw_0 (line 3)



Perhaps this is an issue with the beta version of game maker, just curious if you've got this engine working in beta or if you plan on fixing some of these issues given the limitations of the new rollback system.

The illegal vertex buffer error seems to get thrown when my multiplayer object starts an online game. The engine works prior to any multiplayer functionality.