Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Directional Lights

I'm working on a game idea (2D) that needs directional lights. Basically I want to add light sources that can be moved and the light rays interact with the other bodies on the scene.

What I'm doing right now is some test where using sensors (box2d) and ccDrawLine I could achieve something similar to what I want. Basically I send a bunch of sensors from certain point and with raycast detect collisions, get the end points and draw lines over the sensors.

Just want to get some opinions if this is a good way of doing this or is other better options to build something like this?

Also I would like to know how to make a light effect over this area (sensors area) to provide a better looking light effect. Any ideas?

like image 720
Sebastián Castro Avatar asked Oct 16 '12 22:10

Sebastián Castro


1 Answers

I can think of one cool looking effect you could apply. Put some particles inside the area where light is visible, like sparks shining and falling down very slowly, something like on this picture

Any approach to this problem would need to use collision detection anyway so your is pretty nice providing you have limited number of box2d objects.

Other approach when you have a lot of box2d objects I would think of is to render your screen to texture with just solid colors (should be fast) and perform ray tracing on that generated texture to find pixels that are going to be affected by light. That way you are limited to resolution not the number of box2d objects.

like image 180
Tomasz Zabłocki Avatar answered Sep 18 '22 18:09

Tomasz Zabłocki