- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我目前在 Android 上使用 OpenGL 绘制设置宽度的线条,除了 Android 上的 OpenGL 本身不支持此类线条的抗锯齿之外,它工作得很好。我做了一些研究,但是我一直在研究如何实现我自己的 AA。
FSAA
我找到的第一个可能的解决方案是全屏抗锯齿。我读过this page关于这个主题,但我正在努力了解如何实现它。
现在,根据那篇文章中给出的信息,“抖动”坐标应该相对容易计算。根据我目前的假设,这是我想出的 (Java)...
float currentX = 50;
float currentY = 75;
// I'm assuming the "jitter" amount is essentially
// the amount of anti-aliasing (e.g 2x, 4x and so on)
int jitterAmount = 2;
// don't know what these two are
int coordSceneDimensionX;
int coordSceneDimensionY;
// I assume screen size
int viewportX = 800;
int viewportY = 480;
float newX = (jitterAmount/coordSceneDimensionX)/viewportX;
float newY = (jitterAmount/coordSceneDimensionY)/viewportY;
// and then I don't know what to do with these new coordinates
这是我对 FSAA 的了解
使用纹理抗锯齿
在我为 FSAA 引用的同一文档中,还有一个页面简要讨论了使用纹理实现抗锯齿。但是,我不知道以这种方式实现 AA 的最佳方式是什么,以及它是否比 FSAA 更有效。
希望有人比我更了解抗锯齿,并且可以帮助我实现这一目标。非常感谢!
最佳答案
文章中介绍的方法早于 GPU 能够自行执行抗锯齿的时间。这种对累积缓冲区的抖动渲染并不是实时图形的最先进技术(尽管它是一种广泛实现的离线渲染抗锯齿形式)。
这些天你所做的是请求一个抗锯齿帧缓冲区。就是这样。这里的关键词是多重采样。看到这个答案: How do you activate multisampling in OpenGL ES on the iPhone? – 尽管是为 iOS 编写的,但为 Android 编写也是遵循类似的路径。 AFAIK 在 Android 上使用此扩展名 http://www.khronos.org/registry/gles/extensions/ANGLE/ANGLE_framebuffer_multisample.txt
关于android - 在 Android、OpenGL 上实现抗锯齿 (FSAA?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8069107/
进程文件: fsaa or fsaa.exe 进程名称: F-Secure Authentication Agent 进程类别:存在安全风险的进程 英文描述: fsaa.exe i sthe
我目前在 Android 上使用 OpenGL 绘制设置宽度的线条,除了 Android 上的 OpenGL 本身不支持此类线条的抗锯齿之外,它工作得很好。我做了一些研究,但是我一直在研究如何实现我自
所以我需要一种不使用平滑线条的方法: 全屏抗锯齿(慢) 着色器(并非所有卡都支持) GL_LINE_SMOOTH (导致某些卡崩溃) 我唯一能想到的方法是使用一个始终面向相机方向的带纹理的矩形,但问题
我是一名优秀的程序员,十分优秀!