NOTICE: THIS ENGINE IS NO LONGER SUPPORTED! I AM STARTING A NEW BRANCH COMPATIBLE WITH STUDIO, CHECK IT OUT HERE
Easy Lighting v7.0.2!
Easy, yet effective.
Wow, up to version 7! When I started this .gex, it was a mere side-project thrown together to solve the issue of the lack of good lighting engines. Now-a-days that isn't much of a problem anymore, but I hope that through 7 full version, 3 rewrites, and many updates later you will be impressed and satisfied by what this .gex has become! This .gex is a full-fledged lighting engine with over 20 functions that provides a simple way to add impressive lighting and shadows to your games. I strive to provide a high-quality .gex that acts and performs as if it were part of GM itself. I am always open for suggestions, opinions, and ideas on how to improve my work and make it better for you. After close to 3 years of working on this .gex, I present to you Easy Lighting v7.0! Let me introduce you to some of the features:
-23 easy to use functions.
-Very flexible.
-Customizable ambient lighting for different moods and times of day.
-5 Included light shapes for quicker production.
-Supports varied light shapes with no extra slowdown!
-Supports animated lights for unique effects.
-Rotate and color your lights easily!
-Lights "interact" with objects and other lights, making moving lights look that much more stunning!
-View support, have the lights limited to a specified view for faster rendering on big levels!
-Option for control of light's update and drawing system. Static lighting? Ok, just draw it once!
-Delete unwanted lights for speed boost.
-Built-in shadow system for amazing results!
-Each shadow point can have a different z value.
-Shadows can be animated and morphed in-game.
-Stack multiple shadows on objects for a more 3D effect.
-Much, so much more.
If that isn't enough to get you interested, check out these screenshots taken from the provided example: (version 7.0)
-
Lights aren't just placed on top of objects, they interact with and brighten them! Though, of course, there is the option to remove additive lighting for a more simplistic look.
Here is a quick summary of the functions:[/b]
Lights can be turned on or off at will with lt_lightset/lt_lightset_on, along with the possibility to create flashing and blinking lights (among others) with ease!
So why are you still reading and not downloading? It is a small file-size and well worth the download!
FILE:
(v7.0.2) Download 1.2mb .zip <- .gex should now work with GM7 and GM4MAC, but not the example.
(v6.2 old) Download 800kb .zip <- Download, Made for GM8.0. (NOT COMPATIBLE WITH GM7 BECAUSE OF RESOURCE LOADING DIFFERENCES)
If you guys could leave feedback and tell me what you think, that would be very much appreciated. Thanks.
As always, with all of my .gex files, no credit is ever required (though appreciated) and you can use this .gex in both free and commercial projects.
Note: If you decide to credit me, please use the name Thagen Pinch
Extra Credit:
- With version 6.x+ I took a few ideas from the LS3 lighting engine by Adventus.
Changes In v7 Rewrite:
[b]lt_sysset - Set's properties for the lighting system
lt_lightadd - Creates a new light and returns an id
lt_lightset - Adjusts settings for an existing light
lt_lightdelete- Delete's a light
lt_lightget_x - Get's x position of a light
lt_lightget_y - Get's y position of a light
lt_lightget_on - Returns if a light is on or off
lt_lightget_castsshadows - Returns if the light can cast shadows
lt_lightexists - Returns if a light exists
lt_lightcount - Returns the number of lights created
lt_lightset_x - Sets a light's x position
lt_lightset_y - Sets a light's y position
lt_lightset_on - Turns a light on/off
lt_lightset_castsshadows - Enables/Disables shadow casting for this light
lt_refresh - Manually updates lighting settings
lt_redraw - Manually draws lights onto screen
lt_shadcreate - Creates a new shadow shape
lt_shadbegin - Starts defining new shadow shape
lt_shadreset - Resets the points for a shadow so they can be re-defined
lt_shadpoint - Adds a point to the shadow
lt_shadend - Ends the shadow shape
lt_shadobj - Assigns an object with a specified shadow
lt_shadsetobj - Re-sets properties for an object and shadow
There are many internal changes and there may be some compatibility issues.
-You can now define multiple shadows at once. As a result, the process is slightly different.
-I removed the internal built-in lights for GM7 compatibility. I provided 5 shapes in the file, however, as a substitute.
-Much greater optimization for large areas, providing bigger speed boosts when objects/lights are out of view.
-Added many quick return functions for ease of use.
-Fixed many invisible internal remnants that could cause crashes/slowdown over long play times.
-Added returns to almost every function.
-Added a few more personal error messages, more to come, for when the user does something wrong (Rather than a confusing GM message).
-Completely re-wrote the example, making it easier to understand and more step-by-step.
-Wrote a quick function list (html file) that provides a brief rundown of every function.
-Fixed many minor bugs, such as black screen when no lights exist, among others.
-Made everything more efficient and easy to access so 1) Faster results for you, 2) Easier for me to modify.
-Source code is not provided with v7, nor will it ever be.
Edited by Scyler_27, 31 March 2013 - 04:17 AM.









