文本和矢量艺术的快速光栅化
Posted
技术标签:
【中文标题】文本和矢量艺术的快速光栅化【英文标题】:Fast rasterizing of text and vector art 【发布时间】:2012-01-04 07:16:43 【问题描述】:假设有很多矢量形状(确定形状边界的贝塞尔曲线)。例如,一个充满小字母的页面。
用它创建位图的最快方法是什么?
几年前我曾经看过一个演示(现在找不到),其中一些人使用 GPU 来光栅化矢量图 - 他们能够实时放大/缩小页面。贝塞尔形状的 GPU 渲染当前状态如何?真的很快吗?比 CPU 快?常见和不常见的算法是什么?有没有这样的开源库?它使用什么语言? OpenGL 呢?
【问题讨论】:
GPU 仍在栅格化(在您的情况下)线段。但他们现在也可以在 GPU 上“镶嵌”贝塞尔曲线。 【参考方案1】:NVIDIA 现在有一个 OpenGL 扩展可以做这些事情。我猜它基于 Microsoft RAVG 论文。
http://developer.nvidia.com/nv-path-rendering
【讨论】:
【参考方案2】:也许您指的是以下论文之一:
Random-access rendering of general vector graphics (2008) (PDF)
Resolution independent curve rendering using programmable graphics hardware (2005) (PDF)
我认为这些几乎是最先进的。
【讨论】:
【参考方案3】:几年前我曾经看过一个演示(现在找不到了),其中一些人使用 GPU 来光栅化矢量图 - 他们能够实时放大/缩小页面。
会不会是这个? http://alice.loria.fr/index.php/publications.html?Paper=VTM@2005
目前 GPU 渲染 Bezier 形状的状态如何?
和几年前差不多。细分着色器确实有帮助,但是当涉及到在没有中间细分阶段的情况下对曲线进行光栅化时,它在片段着色器中是一项繁重的工作。
【讨论】:
以上是关于文本和矢量艺术的快速光栅化的主要内容,如果未能解决你的问题,请参考以下文章