What is Picture to People ?

"Picture to People" (P2P) is a huge Computer Graphics project. It was started to create new softwares able to make 2D drawing, 3D rendering, vexel drawing, text effects, photo effects, image filtering and other complex Computer Graphics operations. It has been made from scratch, including its low level Computer Graphics libraries like Maccala. Nowadays, most final features produced for this project are released as free online tools available from its official website. This blog talks about Computer Graphics, mainly concerning Picture to People development.

"Only who makes has true knowledge. Knowledge is control. True power depends on total control. Only who makes from scratch has the real power."

Saturday, June 15, 2013

Sub-pixel precision drawing for vector based render engines

I'm really impressed with the fine quality increase I got by improving the sub-pixel precision of my 2D render engine, which I use in Maccala library. I don't need to make any more some post-processing operations when rendering some complex text effects.

I have received some emails from colleagues asking about this change after I talked about this improvement here. They are CG developers too and were kind of confused about what I meant in my previous post about this subject called "Subpixel vector drawing with professional antialiasing".

First of all, don't be confused between "sub-pixel positioning" and "sub-pixel precision". In the first one, we know how to properly draw the bodies despite they can be in fractionary positions, but it doesn't mean we can draw bodies smaller in size than one pixel.

As an example, I borrowed an image from the webpage about Maccala's features. You can see many line segments with a progressive thickness. All of them are positioned in sub-pixels positions, but just the first one is thinner than one pixel (its thickness is 0.5).
In fact, the real elegance of my algorithm is that it had always been ready to draw shapes and curves with any precision. To make it really work for unbelievably tiny precision limits, I just needed to improve the Math about some boundary conditions.

Of course, nothing comes really for free. To keep the professional anti-aliased results when using "microscopic" measures, the algorithm must be used with extreme parameters, decreasing its big rendering speed.

 Subscribe in a reader

No comments: