Tag Archives: 抗锯齿

计算机图形算法中的光滑边缘算法经历了那些变迁?

主要有四种方法: 1. wupixel:wu xiaolin提出的最早的绘制直线和圆的平滑方法,优点是简单快速,缺点是只有一个方向的像素偏移被考虑了,效果普通,而且只能绘制1个像素宽度的直线,超过一个像素后,两个端点就会非常不自然。 2. supersampling:解析度扩大数倍绘制,四个或者多个像素合并平滑成一个像素,优点是效果好,缺点是计算量大,多用于显卡加速,cpu基本没发做,显卡负担也大: 当然小范围的ss可以用来改进界面字体效果,如windows字体长宽扩大两倍绘制后再平滑down sample成小尺寸,四个像素点均匀合并成一个像素点,会好看很多。 3. 覆盖面积计算:通过计算多边形覆盖了矩形点阵面积的百分比来计算 Alpha,多用于软件渲染,字体绘制,如高质量图形库如AGG,采用直接子像素的绘制方式来避免supersampling的性能浪费,并达到更好效果。缺点是过于复杂不如supersampling 那样简单直接,不容易的用gpu实现。 比如我五年前做的一个玩具图形库:skywind3000/pixellib · GitHub 就是用覆盖面积计算方式来平滑边缘。 4. clear type:采用子像素并考虑lcd的rgb分布,利用lcd上rgb的排列规则模拟更高的解析度,缺点是过分依赖lcd排列,以及主要是x方向的抗锯齿: 编辑于 2015-04-26

Loading

Posted in 图形编程 | Tagged , | Leave a comment

[自制开源] 轻量级图形库 PixelLib

图像:64种不同的像素格式,色彩空间变换,多种图形图像变换。 质量:支持3种级别抗锯齿效果,高质量几何图形绘制。 实现:轻量级纯软件实现,100% C代码(仅700KB代码)。 优化:SSE2/MMX优化 地址:https://github.com/skywind3000/pixellib 1. 图像变换: 支持仿射变换和透视变换,提供大量图像变换操作接口。

Loading

Posted in 图形编程, 开源项目, 游戏开发, 编程技术 | Tagged , , , | 7 Comments