In my previous post I expressed my fondness for triangles. Well, the triangles are no more. For every problem I solved, two more appeared. So, I threw out some 350 lines of code, including all the triangulation stuff, and replaced it with a good old scan line bucket rasterizer. It is a modified version of the one described
here. This one is so simple that it actually works with any kind of mask I throw at it!
Here is a little example of the rasterizer in action:
|
The new rasterizer showing 3 masks (including a self-intersecting one) |
For every mask a bgl.Buffer is filled, converted into an OpenGL texture, mapped to a 2d quad and displayed on top of the image in the UV/Image editor. It still needs some optimization and the anti-aliasing needs some more work but it is already fast enough for panning, zooming, etc. because OpenGL handles most of the heavy lifting.
I will try to make a video this weekend and post it here.
Next up: gaussian blur madness!
No comments:
Post a Comment