Hey guys, I'm lurking around for a while now but this is my first post, so big hello to you all!

I'm just getting started with OpenGL and game development so please bear with me guys.

So I've come to the point that I can create all the shapes what I want to, I can handle transformations, and know how to use textures.

I thought that the next step will be 2D lights and shadows but I just can't get it working.

I've read the articles and visited links featured on this forum about it, and I do understand that I should cast "rays" from my lighting spot to all the vertices and then mask away the non visible parts, my only problem is that I don't know how should I do that? Also I don't really understand how to make a lighting source which attenuates with distance.

My thoughts about that is that I just render multiple circles with different opacity, but this sounds like a horrible idea.

For my other problem (lighting and shadows) I've came up with my own crappy solution:

What I do is that I render a light yellow circle with the radius of the light source and low alpha value, then I go through my vertices stored in an ArrayList and check if they're in the radius of the circle and if so then I do extend the vector with "remaining" length (which is getting calculated like this: I calculate the distance between the center of the rendered circle and the vertex and and I substract my radius with it) and I create a vertex at the casted spot (the crossing point of my ray and the vertex) and at the end of the extended vector. I do this with all of the vertices (per object) so I get a black polygon at the end.

I know this is really bad solution, altough I've spent a lot of time to make it.

Here's a picture presentating my method (and it's fault when I move light source too close):

I would really appreciate any help.

Thank you all guys, have a nice day