Git Product home page Git Product logo

bulb's Introduction

You might know me from my commerical work or one of the talks I gave, but I spend my free time making libraries to help developers.

GML is something of a quirky language and has led me to evolve particular techniques to establish a personal "best practice". You can read some of my thoughts on the nuances of developing in GameMaker here.

 


The Jujuverse
The most popular libraries, all in one place
Scribble Deluxe
Powerful, fully featured text renderer
Input
Comprehensive cross-platform input
Now maintained by offalynne
Scribble Jr.
Fast and lightweight text renderer
Vinyl
Live updating modular audio system
SNAP
Struct and array export/import and utilities
Chatterbox
Narrative scripting tool
Dynamo
Dynamic data loading
Snitch
Logging and crash handling system
iota
Miniature fixed timestep library
Bulb
2D lighting and shadows
Texan
Texture group manager
DoLater
call_later but with arguments
Clean Shapes
Antialiased primitive drawing
db
Simple savedata database

 

Other stuff you might like too:

dotobj
Comprehensive .obj importer
Cardboard
Z-tilt / isometric 3D rendering
Elephant
Advanced struct/array serialization
Coroutines
Asynchronous functions for GameMaker
Shockwaves
Shader-based ripple distortion
Kawase Blur
Kawase dual filter blur
LUT
Commonly used for colour grading
A Message from Amalthea
Procedural audio toy
Quaternions
Simple quaternion library
Matrices
Matrix manipulation functions
Sphinx
Simple encryption
HMAC-Secured Savedata
Featured on the YoYoGames tech blog
Reddit / YouTube
OAuth frameworks for social networks
Google Analytics
Google's Measurement Protocol v4
gl_FragDepth
How to enable gl_FragDepth in GLSL ES
BIG Integers
Big integer handling
Extending JSON
Experimental JSON-like data formats
PRNG
PRNG functions
Ugg
3D primitives
Splat
Vertex buffer-based sprite caching

bulb's People

Contributors

juju-adams avatar jujuadams avatar lexpest avatar zice-o-lantern avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bulb's Issues

Typo... I think

In the accumulateHardLights() method from BulbRenderer class, shouldn't line 588 be:
if (mode == BULB_MODE.HARD_BM_MAX or mode == BULB_MODE.HARD_BM_MAX_SELFLIGHTING)
Instead of:
if (mode == BULB_MODE.HARD_BM_MAX)

To use BM_MAX for both standard and selflighting ?

M

Blocky soft shadow rendering near penumbra potentially with AMD Cards

Hello, thanks for the wonderful lighting engine. I am having a slight issue.

image

There seems to be an issue rendering shadows that shows up on one computer but not another. One difference between the two that may affect this may be the difference in graphics cards, Vega 64 vs GTX1080, where the Vega 64 computer shows this issue and the GTX1080 computer does not. It also seems to favor glitchy rendering on the "left" side of the shadow.

Thanks again.

Lights with `.castShadows` set to `false` still cast shadows

Hello there Juju,

In the demo project, if I turn castShadows to False in Lights and iterate on lighting modes, Lights will continue to cast shadows except for Soft alpha Clip bm_add.

I downloaded the latest demo 20.5.0.
In oLightDiscooooI Object create event, I set light.castShadows = false;
I only keep one light instance and delete the step event to see what I'm doing

I run the demo and in the rmTest Room, I iterate over lighting modes using the [2] key
All modes (but Soft alpha Clip bm_add) continue to cast shadows

(In fact I was trying to reproduce in the Demo a bug I have in my project (where when I set castShadows to false, my light fully disappear) but got this result instead. I'll investigate further...

Shadows flicker on BULB_MODE.SOFT_ADD

When using SOFT_ADD bulb mode, shadows flicker. This behavior happens on both export targets I tried (Windows and HTML5). Tested with the Bulb.yyp sample project downloaded from the Github page itself, and confirmed with my sample project. When switching to any other bulb modes, it works fine.

A (kinda low bit) GIF showing the behavior with SOFT_ADD and with the next mode (HARD_BM_ADD) can be viewed here: https://ibb.co/G2Q6pQh

Tested on an mobile Nvidia RTX 2080 Max-Q using Gamemaker Studio 2 IDE v2.3.2.560 and runtime 2.3.2.426.

A bug that doesn't appear often

Hello! Sometimes such a bug appears and disappears by itself, or after you move the window with the mouse. It appears under different conditions, in different places. How to catch him?
Screenshot_15

Feature proposal: Light/Shadow Masking

I asked you about it a while ago. So this is just in case you find a way for this feature...

Light/Shadow Masking : In 2d game with side view, it might be useful to have the lights/shadows displayed only on the assets that are imediately behind the light (close to it) and not displayed on those that are far away.

Screenshot_20230116-195833_Discord
In this case shadows from the light orb cast on the yellow wall and not on the background blue sky.

As user, maybe we could use a .add_masking_layer() to add layers as masks and tell Bulb its elements should be used to build the masking surface....

An object without shadows and light

Hello! Is it possible to draw an object in the middle of a darkened room that would not be darkened? It is necessary to show a hint object for the player, so that it is not affected by light and shadows.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.