ske*_*gse 21 javascript html5 shader webgl
在我看来,理论上可以使用WebGL进行计算 - 例如计算素数或π或沿着这些线的某些东西.但是,从我看到的很少,着色器本身不是用Javascript编写的,所以我有几个问题:
如果相关,在这种特定情况下,我试图将相当大的数字作为[非常]扩展的compsci项目的一部分.
编辑:
Adr*_*ley 19
我在Chrome中使用了JavaScript中的计算着色器,使用WebGL来解决旅行商问题,因为片段着色器中解决了一组分布式较小的优化问题,以及其他一些遗传优化问题.
问题:
您可以将浮点数放入(r:1.00,g:234.24234,b:-22.0),但只能输出整数(r:255,g:255,b:0).这可以通过将单个浮点数编码为4个整数作为每个片段的输出来克服.这实际上是一项非常繁重的操作,几乎无法解决99%的问题.您可以使用简单的整数或布尔子解决方案解决问题.
调试是一个史无前例的噩梦,社区正在积极地写这篇文章.
将数据注入到着色器中,因为像素数据非常慢,读取它甚至更慢.举个例子,读取和写入数据以解决TSP问题分别需要200和400毫秒,该数据的实际"绘制"或"计算"时间为14毫秒.为了使用,您的数据集必须以正确的方式足够大.
JavaScript是弱类型的(在表面上......),而OpenGL ES是强类型的.为了实现互操作,我们必须在JavaScript中使用像Int32Array或Float32Array这样的东西,这种东西感觉很尴尬,并且在一种通常被吹捧为自由的语言中受到限制.
大量支持归结为使用5或6个纹理的输入数据,将所有像素数据组合成单个数字结构(以某种方式...),然后以有意义的方式对该大数字进行操作.非常hacky,完全没有推荐.
我曾经用这种东西搞砸了.在回答你的第三个问题时,我通过'制服'传递了vars
*编辑 - 回顾现在也使用矢量'属性'从外部传递数据.
你需要运行mamp或其他东西才能在本地工作... https://github.com/byteface/GTP/tree/master/play/simplified
我使用像素来表示字母表的字母,并使用着色器进行字符串搜索.它的速度非常快.比基于CPU的本机搜索程序更快.即在整个书中搜索单个单词的实例在GPU上的浏览器中比在像textedit这样的轻量级程序中更快.我只使用一个纹理.
| 归档时间: |
|
| 查看次数: |
10255 次 |
| 最近记录: |