我正在开发一个可以找到here的网站。
简而言之,这是一个在webgl片段着色器中执行的流体动力学求解器。结果将映射到纹理四边形并在画布上呈现。
在本周末进行一些开发工作时,我注意到该页面的低分辨率和中等分辨率版本不再适用于Chrome(请参阅右上角的链接)。但是,如果您在Firefox中打开页面,一切都按预期工作。请注意,除非你启用了webgl,否则这个页面不会在mac上运行,它在IE中不起作用,而且我没有用opera测试它。
其他一些奇怪的症状:
中低质量版本似乎只显示纹理右下角的一小部分。
上周末我的机器上的铬合金帧速率为60fps,即使是高质量也是30fps。 Firefox得到了60fps
低,中和高实现之间唯一真正的区别是纹理分辨率,分别为256x32,512x64,1024x128。
任何人都可以了解正在发生的事情吗?
答案 0 :(得分:1)
我不确定这是不是问题,但基于模拟(以及我看到的损坏工件),您似乎可能正在使用浮点纹理来存储/渲染模拟状态。 Chrome中有一个半近期的变化修复了过滤浮点纹理如何暴露并需要更改代码的错误。你可以在这里阅读:
IMPORTANT: Your WebGL floating point texture usage needs to be fixed!!!!