在OSX上从Metal打印矢量图形

时间:2016-06-11 01:45:25

标签: objective-c macos metal

是否可以从Metal API输出矢量图形?

特别是在渲染字体/文字方面。

1 个答案:

答案 0 :(得分:4)

使用有符号距离字段(如Chris Green的2007年论文"Improved Alpha-Tested Magnification for Vector Textures and Special Effects"中所述)的问题在于它们要求您以有限分辨率栅格化字形并重建字形轮廓着色器,可能导致保真度降低。最近在这一领域取得了一些重大进展,例如Viktor Chlumský's work on using multi-channel SDF textures以保持锋利的边缘。

在过去十年中,使用GPU更直接地渲染隐式曲线也有很多工作,其中大部分来自Loop& Blinn"使用可编程图形硬件进行分辨率独立曲线渲染" (2005年),也写在GPU Gems 3。最强大的字形渲染实现,我所知道的只有GPU的光栅化是GLyphy中的那个。 Will Dobbie写了一个令人印象深刻的WebGL demo,它将字形轮廓参数上传为纹理,并且还纯粹在GPU上进行栅格化,简要描述here

另外,如果我在这方面没有提及Matt Deslaurier's work,我会失职。你可以view some of his demos here

总之,我的帖子/书(在Marius'答案中提到)显示了Metal中SDF字体渲染的基本实现,但是一旦你理解了上面列出的任何技术应该在Metal中实现相当简单。想法,其中大部分将产生更好的结果。

相关问题