diff --git a/README.md b/README.md index b8e2267324991f361aa1054746799e8b790d78e7..3eab88e4d347d50dd45b0101ad57fb3483c9a003 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,26 @@ # Project Group: Vector Graphics on Modern Hardware +🚧🚧🚧 **WORK IN PROGRESS** 🚧🚧🚧 + {width=350} <sup>Example of vector graphics [1]</sup> + ## Introduction Vector graphics are omnipresent in user interfaces. In fact, you are looking at rendered vector graphics right now! -Every letter in this text is made up by vector graphics, but also more complex SVG files like the above tiger. +Every letter in this text is made up by vector graphics, but also more complex graphics (e.g. the SVG tiger above). + +Still, rendering vector graphics in real time efficiently is still not a fully solved problem. +In the past, vector graphics were just rendered on the CPU, but with high resolutions, fluid animations, and power requirements of mobile hardware, that is no longer feasible. +Hence, we would like to render on the GPU. + +The most natural approach is to tesselate vector graphics to triangles and leverage the traditional raster pipeline of the GPU. +However, this still requires rasterization on the CPU. +Another issue is aliasing. +Of course, we can still use MSAA like in 3D rendering, which comes with a significant performance penalty, but quality also suffers when a very thin pass "snakes" between the [sample points](https://learn.microsoft.com/en-us/windows/win32/api/d3d11/ne-d3d11-d3d11_standard_multisample_quality_levels) (see this Chromium [issue](https://bugs.chromium.org/p/chromium/issues/detail?id=1287455#c1)) ## Plan