GPU Resolution Independent Curve Rendering – Brief

In the past couple of weeks, I worked on developing a new technique to create an API for resolution independent curve bounded regions and text in general.  The main goal of this project was to move out of the Microsoft Patent Loop/Blinn approach which uses Bezier (Quadratic/Cubic) curve rendering to solve the problem.

To by-pass the Microsoft patent, developed the functions and parameters based on nurbs blending functions. The result of this approach gives great results especially in the region of injection points which where a main concern as well.  The next problem approached was Anti aliasing for the rendered curves especially targeting small fonts, since MSAA on small fonts will give a blurry non-sharp effect.

Below are some snapshots from demos created to use the new text/curve renderer API (where the algorithm is implemented). Later on,  will publish the detailed algorithm with a review of the AA techniques used and tested. But first will work in the upcoming week or so to polish the API before pushing to jogl repository.

Click on image to view original size (all images are in png format to preserve quality)

Rendered string with AA
- A text string rendered with AA.

small sized string with high zoom out.
- Rendering a small text using the same algorithm with AA.

Zoomed in Resolution Independent with AA
- Zoom in to the text showing Resolution independence.

Rendered string with AA
- Rotated text in a 3D scene.

Rendered string with AA
- A general curve bounded region rendered.

, , , , , , , , ,

One Comment

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>