black-hole.js是一款效果非常炫酷的模拟宇宙黑洞引力特效的js插件。该插件基于HTML5 canvas,使用WebGL、 glfx.js和 numeric.js 共同制作完成。其效果是在鼠标滑过图片时,鼠标附近区域形成黑洞空间效果,使它周围的空间坍缩,效果非常逼真。
该黑洞引力特效插件使用numeric.js来计算所需要的数值的微分方程解。numeric.js是一个包含有许多有用的数学公式的js库,关于该js库的信息可以参考Numeric官方文档,你还可以尝试在线使用numeric.js。插件中使用了numeric.dopri()函数,该函数使用Dormand-Prince RK方法执行一个ODE(常微分方程)数值积分,这个函数将使用一个ODE并输出大量合适的ODE约束点序列,然后就可以绘制相应的点。
另外,该宇宙黑洞特效插件使用glfx.js来应用WebGL渲染黑洞引力的效果。glfx.js可以使我们非常容易的在2D图像上创建非常有意思的特效,如漩涡效果和胀形透镜效果等。这个黑洞效果使用GLSL着色器来创建。
注意:由于HTML5的安全限制,插件中的图片必须是同源的图片。在本地浏览器这个插件时,Chrome浏览器会看不到效果,你可以使用Firefox浏览器在本地查看这个demo。
使用方法
HTML结构
该插件使用一个
作为canvas的占位容器即可。
创建调用
调用该插件之前首先要引入必要的依赖文件。