Crystal Lighting Engine v2.0
Crystal - 2D Lighting Engine » Devlog
Welcome to Crystal Lighting Engine v2.0!
This is a major update in which the main addition is the sprite shadows redone from scratch. Also a lot of bug fixes! :D


Full Release Notes:
[ADDED] Sprite shadows reworked from scratch. Ultra-efficient shader-based sprite shadows with automatic batching. There's also support for texture pages marked with "Automatic Crop" (can be used without it as well). Unlike before, now you can easily have multiple lights that cast sprite shadows, just like vertex shadows, in a simple way. It's possible to create both dynamic and static sprite shadows. Dynamic shadows can be animated, useful for characters. It's also possible to project offset shadows, useful for top-down objects, such as the tree trunk. All lights that support shadows support sprite shadows, including Direct Lights. IMPORTANT: for sprite shadows to show, you must change the shadow shader (per light), example: shadowShaderType = LIGHT_SHADOW_SHADER_SPRITE_SMOOTH; See .yyz example project for usage examples. [ADDED] New macros for shadows shaders (shadowShaderType): LIGHT_SHADOW_SHADER_SPRITE, LIGHT_SHADOW_SHADER_SPRITE_BASIC, LIGHT_SHADOW_SHADER_SPRITE_SMOOTH. [ADDED] Support to colored cookies on spot lights. Project images with a spot light (Phong and BRDF). [ADDED] cookieAlpha variable to Spot Lights. The default value is 1. You can now use 0 to disable the cookie to improve GPU performance. [ADDED] .AddMeshesFromSprite() to Crystal_Shadow(). Allows you to add vertex shadows using sprite tracing. Supports multiple sprite frames. Support only for convex shapes that are not straight cubes. [ADDED] .FromSpriteConvexHull() method to Crystal_ShadowMesh(). [ADDED] .FromConvexHull() method to Crystal_ShadowMesh(). [ADDED] "xOffset" and "yOffset" parameters to .FromArray() from Crystal_ShadowMesh(). [ADDED] "resetAmbientLUT" parameter to .Destroy() function from Crystal_TimeCycle(). [ADDED] "shadowAlpha" parameter to lights (that support shadows). Allows you to set the transparency of shadows for more visual control. [ADDED] Ambient LUT preview in the Debug UI. It's now possible to visualize and test ambient LUTs in-game. [CHANGED] .SetVertexShadowsEnable() renamed to .SetShadowsEnable(), since this now disables both vertex shadows and sprite shadows. This function now completely disables the functionality if desired. [CHANGED] Crystal_ShadowSprite() has undergone changes in its operation, it is worth reviewing the code and parameters. [FIXED] Vertex shadows visuals drastically improved (they overlap more naturally now). [FIXED] Sprite Lights sprites now support transparency (before it was mandatory to have a black background). [FIXED] Normal maps and emissive materials now take gpu_set_alphatestref() into account, which should work the same as other sprites. [FIXED] Blendmode of the "Combine" pass renderables is now "normal" by default. [FIXED] Ambient light LUT now works correctly on Android (precision issue fixed). [FIXED] Debug UI: error when trying to open a Crystal_MaterialLayer(). [FIXED] Improved dithering shader. [FIXED] .GetLightsCollisionAt() performance improved a bit. [REMOVED] Crystal_ShadowSpriteGroup() has been removed completely in favor of a rework made to work directly from Crystal_Renderer(), making it easy for you. [REMOVED] .DrawInViewport() function, as this function is very redundant, since you can use .Draw() and draw wherever you want. This makes the Crystal less bloated too. [REMOVED] Warning "not applied, material already rendering" and related warnings from .Apply(), because it is not necessary.
Thanks for listening!
Files
CrystalLightingEngine_v2.0.yymps 326 kB
Aug 13, 2025
CrystalLightingEngine_2.0_Example.yyz 41 MB
Aug 13, 2025
CrystalLightingEngine_v2.0_Demo.zip 23 MB
Aug 13, 2025
Get Crystal - 2D Lighting Engine
Crystal - 2D Lighting Engine
🔥 The most powerful 2D lighting + shadows system available. [for Pixel-art + HD games!]
| Status | Released |
| Category | Assets |
| Author | Foxy Of Jungle |
| Genre | Platformer, Role Playing |
| Tags | 2D, dithering, Effects, GameMaker, lighting, Pixel Art, Retro, Top-Down |
More posts
- Crystal Lighting Engine v2.121 days ago
- Crystal Lighting Engine v2.0.191 days ago
- Crystal Lighting Engine v1.3.1Apr 08, 2025
- Crystal Lighting Engine v1.3Feb 20, 2025
- Crystal Lighting Engine v1.2Dec 10, 2024
- Crystal Lighting Engine v1.1Dec 05, 2024
- Crystal Lighting Engine v1.0 Launched!Nov 14, 2024
![CRYSTAL LIGHTING ENGINE for GameMaker. All the features you need in one place. See below for more info =] Crystal Lighting Engine logo with a pixel butterfly and GameMaker logo on a blurred colorful background.](https://img.itch.zone/aW1nLzE4NDY2NzA3LnBuZw==/original/M88jsk.png)
Comments
Log in with itch.io to leave a comment.
THANK YOU SO MUCH!!!
-My game
(This is literally what I needed Amazing work!)
Hehe thanks! :D