Game Maker Language GLSL
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
media Add media Oct 19, 2015
prettylight.gmx Fix typo Feb 2, 2017
.gitignore Move .gitignore to correct directory Sep 22, 2016
LICENSE Add MIT license Jan 12, 2016
README.md Add GMS2 notice to README Oct 24, 2017

README.md

💡 prettylight GitHub release GitHub stars Marketplace download

A powerful lighting engine for use with GameMaker: Studio. It makes use of surfaces and shaders to give you a simple to use yet optimal solution to your problems in need of lighting up!

⚠️ GameMaker Studio 2 Notice

These scripts are currently untested and unprepared for GameMaker Studio 2. You may import them into your project and use but they may not work. We are working on it though!

Usage

Prerequisites

Registration

You should make use of a game control object to register settings and such for the framework.

  • Initialise the system in the create event with pl_init()
  • Process the system in the step/begin step event with pl_update()
  • Render the lights in the draw event with pl_draw()
  • Clear the system in the room end/game end event with pl_end()

Adding Lights

Initialise a light in the create event of a light object with pl_light_init(). Make sure that the light object you specify has been registered via pl_add().

Tip: Make use of a parent light object to prevent you from having to register every single light object.

API

Global Methods

You can customise certain aspects of the framework with the following methods:

pl_option_set_ambience(color, brightness)

Set the ambience colour and brightness.

pl_option_set_blur(amount, alpha)

Set the blurring amount and transparency.

pl_set_blurring(active?)

Set whether blurring should be active.

pl_set_vivid(active?)

Set whether vivid lighting should be active.

Light Methods

You can customise each individual light with the following methods:

pl_light_init(radius, colour, alpha)

Initialise a new light.

pl_light_destroy()

Destroy the current light.

pl_light_get_alpha()

Get the transparency of the light.

pl_light_get_color()

Get the colour of the light.

pl_light_get_radius()

Get the radius of the light.

pl_light_set_alpha(value)

Set the transparency of the light.

pl_light_set_color(value)

Set the colour of the light.

pl_light_set_radius(value)

Set the radius of the light.

Credits

  • Nik Sudan - Scripts and project maintenance
  • FatalSleep - Scripts
  • xygthop3 - Shaders