我可以在Firefox上以编程方式启用WebGL抗锯齿吗?

use*_*340 11 javascript firefox antialiasing webgl

例如,在像这样的页面上,在Safari 7中它是抗锯齿的,但在Firefox 29(OS X 10.9)中却没有.

Firefox 确实具有抗锯齿功能.如果我将about:config设置"webgl.msaa-force"设置为"true",那么它是抗锯齿的.

有没有办法为我的特定网页制作Firefox抗锯齿,而不依赖于用户搞乱他们的about:config?

我使用的是three.js,它有一个"antialias"标志,但它似乎只对Safari有所影响,而不是Firefox.

gma*_*man 9

最简洁的答案是不".

浏览器是否支持抗锯齿.许多驱动程序在某些情况下会因抗锯齿而崩溃,因此浏览器通常会在这些计算机上禁用抗锯齿功

请注意,该antialias标志是true默认情况下.换句话说,WebGL的默认设置是antialias,尽管它仍然取决于浏览器.特别设置antialiastrue最多可以作为提示(嘿,我真的想要抗锯齿),但我知道没有浏览器使用它作为提示.如果可以的话,他们通常会打开抗锯齿.

另一方面,设置antialiasfalse具体意味着"不要反抗".

你可以尝试自己做抗锯齿.例如,您可以以更高的分辨率渲染并使用CSS来显示更小的画布,在这种情况下,将WebGL合成到页面时,浏览器很可能是双线性插值.您还可以渲染到纹理,然后在将其渲染到画布时对其应用某种抗锯齿滤镜.

  • 有趣.看起来Firefox有一个GPU黑名单,在Mac上他们黑名单(https://wiki.mozilla.org/Blocklisting/Blocked_Graphics_Drivers)"所有NVIDIA和英特尔硬件",加上"除了AMD Radeon HD 6490M和ATI Radeon之外的所有ATI卡HD 4670",最重要的是黑名单与双GPU系统有问题!所以基本上Mac上的Firefox在理论上支持AA,但除了2011年初的15"MacbookPro和几款2009/2010 iMac之外,它确实没有.这令人失望.我想知道他们是否计划将黑名单列入任何黑名单其他卡片. (3认同)
  • 顺便说一句:这就是为什么多个渲染目标(MRT)目前在Mac上不适用于WebGL的原因.驱动程序崩溃很容易.MRT在某些条件下可以在Mac上运行,使用MRT的原生游戏和应用程序不会触发这些条件,但是运行WebGL的随机网页可能很容易触发这些条件,直到Apple修复驱动程序或浏览器找到其他一些解决方法在Mac上启用MRT :( (2认同)