Path Rasterizer for OpenVG
Master thesis
Permanent lenke
http://hdl.handle.net/11250/252871Utgivelsesdato
2007Metadata
Vis full innførselSamlinger
Sammendrag
Vector graphics provide smooth, resolution-independent images and are used for user interfaces, illustrations,fonts and more in a wide range of applications.During the last years, handheld devices have become increasingly powerful and feature-rich. It is expectedthat an increasing number of devices will contain dedicated GPUs (graphics processing units)capable of high quality 3d graphics for games. It is of interest to use the same hardware for acceleratingvector graphics.OpenVG is a new API for vector graphics rendering on a wide range of devices from desktop to handheld.Implementations can use different algorithms and ways of accelerating the rendering process in hardware,transparent from the user application.State of the art vector graphics solutions perform much processing in the CPU, transfer large amounts ofvertex and polygon data from the CPU to GPU, and generally use the GPU in a suboptimal way. Moreefficient approaches are desirable.Recently developed algorithms provide efficient curve rendering with little CPU overhead and a significantreduction in vertex and polygon count. Some issues remain before the approach can be used forrendering in an OpenVG implementation.This thesis builds on these algorithms to develop an approach that can be used for a conformant OpenVGimplementation. A number of issues, mainly related to precision, robustness and missing features, areidentified. Solutions are suggested and either implemented in a prototype or left as future work.Preliminary tests compare the new approach to traditional approximation with line segments.Vertex and triangle count as well as the simulated tile list counts are lowered significantly and CPUoverhead from subdivision is avoided or greatly reduced in many common cases. CPU overhead fromtessellation is eliminated through the use of an improved stencil buffer technique.Data-sets with different properties show varying amounts of improvement from the new approach. Forsome data-sets, vertex and triangle count is lowered by up to 70% and subdivision is completely avoided,while for others there is no improvement.