Drawing a glowing line?Monkey Programming Forums/Monkey Programming/Drawing a glowing line?
| Hey guys, how would you go about drawing a glowing line? not asking for code just a starting point or ideas.|
Called with something like;
DrawGlowLine( x1:int , y1:int , x2:int , y2:int , thickness:int , softedge:bool )
| You need to write a drawing routine which will do this for you. Although you could use multiple line function calls to achieve a similar effect, there is no guarantee over the pixel consistency when multiple lines are stacked edge-to-edge with each other over the target platforms, so whatever this would look like could look very different between platforms.|
Alternatively, you can take a (very small) texture with a soft edge or reflected gradient, and then rotate and stretch it in the shape and direction of the line you want. SetColor() could tint the texture but I would recommend against it since the effect can be costly and isn't really appropriate for glows. Instead, I'd recommend baking in the proper gradient (white-hot -> your glow color) into the texture.
| When I did this quick little game:|
I cheated, I ported Bresenham Line Algorithm to Monkey and when I draw the "glow" line I did it like this:
For Local i% = 1 To 3 Select i Case 1 SetAlpha 0.04 Case 2 SetAlpha 0.01 Case 3 SetAlpha 0.01 End Select LineB x - x1, y - y1, x - x2, y - y2, i * 6 Next SetAlpha 1 DrawLine x-x1,y-y1,x-x2,y-y2
Bresenham Line Algorithm:
| O.o thanks Revills that looks very interesting. |