{"_id":"gl-fbo","_rev":"48-2e1321c830cb1618e495c4017979287d","name":"gl-fbo","dist-tags":{"latest":"2.0.5"},"versions":{"0.0.0":{"name":"gl-fbo","version":"0.0.0","keywords":["fbo","frame","buffer","framebuffer","object","webgl","gl","offscreen","render","texture","renderbuffer","render"],"author":{"name":"Mikola Lysenko"},"license":"BSD","_id":"gl-fbo@0.0.0","maintainers":[{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"}],"bugs":{"url":"https://github.com/mikolalysenko/fbo/issues"},"dist":{"shasum":"2284ef9c60575ee80e931404c241cb630375dab6","tarball":"https://registry.npmjs.org/gl-fbo/-/gl-fbo-0.0.0.tgz","integrity":"sha512-X+L3no6YTiAM6+XRW3aXbAp7N9Ckvlnpmnym0K2/haJQxjOJYBNQT5T8gqvEmf5c8WAu0Vu7bbsfPJ86Vtz5yA==","signatures":[{"sig":"MEYCIQCDeXFJWMQgCe5ZQLSvkf/qYqqS6LJHcYHHxsdkAjU7hwIhAMAM9t1IB05MwESO10hXbChX8Rne3MEPTIOgFqqcnNyZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"fbo.js","_from":".","gitHead":"6173b4ee305e99f359a1a5939bba28169699d9ef","scripts":{"test":"tap test/*.js"},"_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"repository":{"url":"git://github.com/mikolalysenko/fbo.git","type":"git"},"_npmVersion":"1.2.24","description":"Frame buffer object wrapper for WebGL","directories":{},"dependencies":{"webglew":"~0.0.0","gl-texture2d":"0.0.2"},"devDependencies":{"gl-now":"0.0.0","ndarray":"~0.2.4","gl-shader":"0.0.1","ndarray-fill":"0.0.0"}},"0.1.0":{"name":"gl-fbo","version":"0.1.0","keywords":["fbo","frame","buffer","framebuffer","object","webgl","gl","offscreen","render","texture","renderbuffer","render"],"author":{"name":"Mikola Lysenko"},"license":"BSD","_id":"gl-fbo@0.1.0","maintainers":[{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"}],"bugs":{"url":"https://github.com/mikolalysenko/fbo/issues"},"dist":{"shasum":"26cb00d2c8e7bca55f68c58ba10d00a1a19cadac","tarball":"https://registry.npmjs.org/gl-fbo/-/gl-fbo-0.1.0.tgz","integrity":"sha512-P5w/IzYLYHYRZRWoMJvW0Rx0ITJSflFf8VTskd8OAhyfd6h+WHeP7pn8gsz2rc+2fgTn+5vts5dV8Vm1rONALQ==","signatures":[{"sig":"MEQCIDYVz/0U0CRB2QoITLXFfzPPPCQKdbNTX8YA0LHgbNPyAiB2f6UiBiQ9xwbEx4LA2r2eWm3BL9bAaf1pRi3KPbIqlg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"fbo.js","_from":".","gitHead":"6173b4ee305e99f359a1a5939bba28169699d9ef","scripts":{"test":"tap test/*.js"},"_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"repository":{"url":"git://github.com/mikolalysenko/fbo.git","type":"git"},"_npmVersion":"1.2.24","description":"Frame buffer object wrapper for WebGL","directories":{},"dependencies":{"webglew":"~0.0.0","gl-texture2d":"~0.1.1"},"devDependencies":{"zeros":"~0.0.0","gl-now":"~0.0.0","ndarray":"~1.0.0","gl-shader":"~0.0.1","ndarray-fill":"~0.1.0"}},"0.1.1":{"name":"gl-fbo","version":"0.1.1","keywords":["fbo","frame","buffer","framebuffer","object","webgl","gl","offscreen","render","texture","renderbuffer","render"],"author":{"name":"Mikola Lysenko"},"license":"BSD","_id":"gl-fbo@0.1.1","maintainers":[{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"}],"bugs":{"url":"https://github.com/mikolalysenko/fbo/issues"},"dist":{"shasum":"f06782716975af2819599d4fcc30058fd8cbc926","tarball":"https://registry.npmjs.org/gl-fbo/-/gl-fbo-0.1.1.tgz","integrity":"sha512-CvpsoI5qu9PtnyJOkmLBe4jkyzI9u6QVpqpFD5sjJP+h4ipg479bI996uljNrO/JDHukhlxfU6rLeWuF+jK39g==","signatures":[{"sig":"MEYCIQDD+ia3ZZgjPHZlwKlNwQPAmRadghbJu4af/OrAqDlEVgIhAL2SHpubDyWs5BDSGbU61eJpXOWimxg+txsxmdnrIICS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"fbo.js","_from":".","gitHead":"6173b4ee305e99f359a1a5939bba28169699d9ef","scripts":{"test":"tap test/*.js"},"_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"repository":{"url":"git://github.com/mikolalysenko/fbo.git","type":"git"},"_npmVersion":"1.2.24","description":"Frame buffer object wrapper for WebGL","directories":{},"dependencies":{"webglew":"~0.0.0","gl-texture2d":"~0.1.1"},"devDependencies":{"zeros":"~0.0.0","gl-now":"~0.0.0","ndarray":"~1.0.0","gl-shader":"~0.0.1","ndarray-fill":"~0.1.0"}},"1.0.0":{"name":"gl-fbo","version":"1.0.0","keywords":["fbo","frame","buffer","framebuffer","object","webgl","gl","offscreen","render","texture","renderbuffer","render"],"author":{"name":"Mikola Lysenko"},"license":"BSD","_id":"gl-fbo@1.0.0","maintainers":[{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"}],"homepage":"https://github.com/mikolalysenko/fbo","bugs":{"url":"https://github.com/mikolalysenko/fbo/issues"},"dist":{"shasum":"7938fe39075941b60aa5d8df83d634cc0fd678d2","tarball":"https://registry.npmjs.org/gl-fbo/-/gl-fbo-1.0.0.tgz","integrity":"sha512-G7knV47q5P7WCzbWzpQfO5n4CKS5LN7QgNSJg1fMx0SeVPQPq0vfkOMg4dR2FTnJ18nxoSpnWF83af2hP0PQnw==","signatures":[{"sig":"MEYCIQDpta25YwZGOkogl/bizY1H3Z3pRFf4mcsnfk1xLK0cGQIhAIcF7MhTzD1RBNfZ62SN0QIY7OuopiiUglweb5fVWpcK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"fbo.js","_from":".","gitHead":"6173b4ee305e99f359a1a5939bba28169699d9ef","scripts":{"test":"tap test/*.js"},"_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"repository":{"url":"git://github.com/mikolalysenko/fbo.git","type":"git"},"_npmVersion":"1.3.14","description":"Frame buffer object wrapper for WebGL","directories":{},"dependencies":{"webglew":"^0.0.0","gl-texture2d":"^0.1.5"},"devDependencies":{"zeros":"~0.0.0","gl-now":"~0.0.0","ndarray":"~1.0.0","gl-shader":"~0.0.1","ndarray-fill":"~0.1.0"}},"1.0.1":{"name":"gl-fbo","version":"1.0.1","keywords":["fbo","frame","buffer","framebuffer","object","webgl","gl","offscreen","render","texture","renderbuffer","render"],"author":{"name":"Mikola Lysenko"},"license":"BSD","_id":"gl-fbo@1.0.1","maintainers":[{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"}],"homepage":"https://github.com/mikolalysenko/fbo","bugs":{"url":"https://github.com/mikolalysenko/fbo/issues"},"dist":{"shasum":"8e984dcfd672e650b868e068bb4591f1d4c7a76d","tarball":"https://registry.npmjs.org/gl-fbo/-/gl-fbo-1.0.1.tgz","integrity":"sha512-5IIV1vlm1WsQlMcdwTFi2EJXKkTds9rbgVYEm+jT4oQk/GU5ZCtGGFJk1M10vrNqokivGyhiC04T/pamcedUVg==","signatures":[{"sig":"MEUCIQDdklYaW4aHSwsgzo90pEdkl9vo9PJpMSHnGQtnorQ4qAIgLJHMQGG4tsNFgTxd06+1e/yl9Vaku5zC3zEronDFxls=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"fbo.js","_from":".","gitHead":"6173b4ee305e99f359a1a5939bba28169699d9ef","scripts":{"test":"tap test/*.js"},"_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"repository":{"url":"git://github.com/mikolalysenko/fbo.git","type":"git"},"_npmVersion":"1.4.3","description":"Frame buffer object wrapper for WebGL","directories":{},"dependencies":{"webglew":"^1.0.0","gl-texture2d":"^1.0.0"},"devDependencies":{"zeros":"~0.0.0","gl-now":"~0.0.0","ndarray":"~1.0.0","gl-shader":"~0.0.1","ndarray-fill":"~0.1.0"}},"1.0.2":{"name":"gl-fbo","version":"1.0.2","keywords":["fbo","frame","buffer","framebuffer","object","webgl","gl","offscreen","render","texture","renderbuffer","render"],"author":{"name":"Mikola Lysenko"},"license":"BSD","_id":"gl-fbo@1.0.2","maintainers":[{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"}],"homepage":"https://github.com/mikolalysenko/fbo","bugs":{"url":"https://github.com/mikolalysenko/fbo/issues"},"dist":{"shasum":"e20f74394de4318d903dc84cf2f6c2126a711b74","tarball":"https://registry.npmjs.org/gl-fbo/-/gl-fbo-1.0.2.tgz","integrity":"sha512-F8e5R/LM2bdLJpuHTQ7HVyM2Oy2urJW2WB0P4gUovVctWi5LtH7aFT11E48c4fzXa4z5ubMmatzT1vNxKsah1w==","signatures":[{"sig":"MEUCIQCn976LDJ9+tgkeVKMWd1V76xn/auboFlrWoajJh2Ms/QIgEdlg2Jp2wkBmgLAHRbyBJFe6oaub1fChBlrQrA66U4c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"fbo.js","_from":".","gitHead":"6173b4ee305e99f359a1a5939bba28169699d9ef","scripts":{"test":"tap test/*.js"},"_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"repository":{"url":"git://github.com/mikolalysenko/fbo.git","type":"git"},"_npmVersion":"1.4.3","description":"Frame buffer object wrapper for WebGL","directories":{},"dependencies":{"webglew":"^1.0.0","gl-texture2d":"^1.0.0"},"devDependencies":{"zeros":"~0.0.0","gl-now":"~0.0.0","ndarray":"~1.0.0","gl-shader":"~0.0.1","ndarray-fill":"~0.1.0"}},"1.1.0":{"name":"gl-fbo","version":"1.1.0","keywords":["fbo","frame","buffer","framebuffer","object","webgl","gl","offscreen","render","texture","renderbuffer","render"],"author":{"name":"Mikola Lysenko"},"license":"MIT","_id":"gl-fbo@1.1.0","maintainers":[{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"}],"homepage":"https://github.com/mikolalysenko/fbo","bugs":{"url":"https://github.com/mikolalysenko/fbo/issues"},"dist":{"shasum":"ecea0a6ffcbc3ac976164aa4cb3c5ea98e41a78a","tarball":"https://registry.npmjs.org/gl-fbo/-/gl-fbo-1.1.0.tgz","integrity":"sha512-x2wb1g0RBYZKPiPa3cGIwmFRoDYRyPAZaVGmDNxnc/Cob4fkeIFc48ZfopymRq10l9YtCP+ssLrnJhaSfCIH6A==","signatures":[{"sig":"MEYCIQDUg2+f2ZpgCuZBVXmLBXON0vV9MZ1McFik3DV0NYeNlgIhANb9wzxXQCUDR0Xh7LdCGQNmPL/BDixFRr28jfQxwcIr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"fbo.js","_from":".","gitHead":"6173b4ee305e99f359a1a5939bba28169699d9ef","scripts":{"test":"tap test/*.js","start":"beefy --open example/example.js -- --transform glslify"},"_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"repository":{"url":"git://github.com/mikolalysenko/fbo.git","type":"git"},"_npmVersion":"1.4.3","description":"Frame buffer object wrapper for WebGL","directories":{},"dependencies":{"webglew":"^1.0.0","gl-texture2d":"^1.1.0"},"devDependencies":{"gl-now":"^1.3.1","glslify":"^1.4.0","ndarray":"^1.0.15","ndarray-fill":"^1.0.1","a-big-triangle":"0.0.0"}},"1.1.1":{"name":"gl-fbo","version":"1.1.1","keywords":["fbo","frame","buffer","framebuffer","object","webgl","gl","offscreen","render","texture","renderbuffer","render"],"author":{"name":"Mikola Lysenko"},"license":"MIT","_id":"gl-fbo@1.1.1","maintainers":[{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"}],"homepage":"https://github.com/mikolalysenko/fbo","bugs":{"url":"https://github.com/mikolalysenko/fbo/issues"},"dist":{"shasum":"d96e72b824b3ce794d76650465c48389299ee11c","tarball":"https://registry.npmjs.org/gl-fbo/-/gl-fbo-1.1.1.tgz","integrity":"sha512-Yr+AsN8ePJN2CrP4ATnOBiqW0yVaHwuvZUkIz1sKP/m1fPe4b1pea11ijdcVr0lDNxuwGTz1zsVLvLaHu3C+AA==","signatures":[{"sig":"MEUCIQCBK7TSKulEKxXt50WHRlX+NFbm4RFIkYIEC1H2h9eSRgIgGZF+KhKQVggukm2G2MLIzX2zQ3j64EpvyY7mWKtOcZM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"fbo.js","_from":".","gitHead":"6173b4ee305e99f359a1a5939bba28169699d9ef","scripts":{"test":"tap test/*.js","start":"beefy --open example/example.js -- --transform glslify"},"_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"repository":{"url":"git://github.com/mikolalysenko/fbo.git","type":"git"},"_npmVersion":"1.4.3","description":"Frame buffer object wrapper for WebGL","directories":{},"dependencies":{"webglew":"^1.0.0","gl-texture2d":"^1.1.0"},"devDependencies":{"gl-now":"^1.3.1","glslify":"^1.4.0","ndarray":"^1.0.15","ndarray-fill":"^1.0.1","a-big-triangle":"0.0.0"}},"1.1.2":{"name":"gl-fbo","version":"1.1.2","keywords":["fbo","frame","buffer","framebuffer","object","webgl","gl","offscreen","render","texture","renderbuffer","render"],"author":{"name":"Mikola Lysenko"},"license":"MIT","_id":"gl-fbo@1.1.2","maintainers":[{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"}],"homepage":"https://github.com/mikolalysenko/fbo","bugs":{"url":"https://github.com/mikolalysenko/fbo/issues"},"dist":{"shasum":"c167d9d927b46def18317c550d01fb9a2d99b885","tarball":"https://registry.npmjs.org/gl-fbo/-/gl-fbo-1.1.2.tgz","integrity":"sha512-WzpgPeX8YszeG8HdGRxm7LdWfWip80kJythAfa0pBdlh6KLyrEUt9oU73xyCURldAdg6k/Fu2Y4Vi1n4i4NPdQ==","signatures":[{"sig":"MEYCIQCou7WqbXO2rQGQK1Yp3XsGilW1EY8GtO4ARCoeevCvkwIhAN5T2dSKdsUgYwe65keI1Me5ZkNbGf8jxiBG7RTGGghA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"fbo.js","_from":".","gitHead":"6173b4ee305e99f359a1a5939bba28169699d9ef","scripts":{"test":"tap test/*.js","start":"beefy --open example/example.js -- --transform glslify"},"_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"repository":{"url":"git://github.com/mikolalysenko/fbo.git","type":"git"},"_npmVersion":"1.4.3","description":"Frame buffer object wrapper for WebGL","directories":{},"dependencies":{"webglew":"^1.0.0","gl-texture2d":"^1.1.0"},"devDependencies":{"gl-now":"^1.3.1","glslify":"^1.4.0","ndarray":"^1.0.15","ndarray-fill":"^1.0.1","a-big-triangle":"0.0.0"}},"1.1.3":{"name":"gl-fbo","version":"1.1.3","keywords":["fbo","frame","buffer","framebuffer","object","webgl","gl","offscreen","render","texture","renderbuffer","render"],"author":{"name":"Mikola Lysenko"},"license":"MIT","_id":"gl-fbo@1.1.3","maintainers":[{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"}],"homepage":"https://github.com/mikolalysenko/fbo","bugs":{"url":"https://github.com/mikolalysenko/fbo/issues"},"dist":{"shasum":"986d25cca21b7171ef2c45ba4e7989ff4e33c2aa","tarball":"https://registry.npmjs.org/gl-fbo/-/gl-fbo-1.1.3.tgz","integrity":"sha512-xY3noCu2xgE1sDkgxOt+Ua6yNt4y3nQW3vxYslZjjceQpBlPP+Sh9BcKrWWe0EUbdEsupzxtr+A/ET9F4zu4kw==","signatures":[{"sig":"MEUCIC7xSBB1MIOD23SX4bccg3KVMVFovb9jAB4VLw/BfW+wAiEA5W5DcDmm8KmEziE/9+m8m+Zr1VoweX5drTgiqIN+eqM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"fbo.js","_from":".","gitHead":"6173b4ee305e99f359a1a5939bba28169699d9ef","scripts":{"test":"tap test/*.js","start":"beefy --open example/example.js -- --transform glslify"},"_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"repository":{"url":"git://github.com/mikolalysenko/fbo.git","type":"git"},"_npmVersion":"1.4.3","description":"Frame buffer object wrapper for WebGL","directories":{},"dependencies":{"webglew":"^1.0.0","gl-texture2d":"^1.1.0"},"devDependencies":{"gl-now":"^1.3.1","glslify":"^1.4.0","ndarray":"^1.0.15","ndarray-fill":"^1.0.1","a-big-triangle":"0.0.0"}},"2.0.0":{"name":"gl-fbo","version":"2.0.0","keywords":["fbo","frame","buffer","framebuffer","object","webgl","gl","offscreen","render","texture","renderbuffer","render"],"license":"MIT","_id":"gl-fbo@2.0.0","maintainers":[{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"chrisdickinson","email":"chris@neversaw.us"}],"homepage":"https://github.com/stackgl/fbo","bugs":{"url":"https://github.com/stackgl/fbo/issues"},"dist":{"shasum":"1d0c9774421782e300e48c2a56c2cf2412937c0c","tarball":"https://registry.npmjs.org/gl-fbo/-/gl-fbo-2.0.0.tgz","integrity":"sha512-X+JcHCEO18awjlnQ0B4oVas2k8F7ZOXaAiJumldK4zBpITFyTfsCbEXEIjeNdj7crm1p+ORw6V3jNdJ6Ux7OiA==","signatures":[{"sig":"MEYCIQCXEcWggn80EhLbfyWI18hhTllgsA3k6BTvAvUAZNqgCAIhAMZJQRhJbuRhK5pQzkmEInt4iCGpFchn6msQq1e8KQQx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"fbo.js","_from":".","authors":["Mikola Lysenko <mikolalysenko@gmail.com> (http://0fps.net)","Hugh Kennedy <hughskennedy@gmail.com> (http://hughsk.io)","Chris Dickinson <chris@neversaw.us> (http://neversaw.us)"],"gitHead":"6173b4ee305e99f359a1a5939bba28169699d9ef","scripts":{"test":"tap test/*.js","start":"beefy --open example/example.js -- --transform glslify"},"_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"repository":{"url":"git://github.com/stackgl/fbo.git","type":"git"},"_npmVersion":"1.4.3","description":"Frame buffer object wrapper for WebGL","directories":{},"dependencies":{"webglew":"^1.0.0","gl-texture2d":"^2.0.0"},"devDependencies":{"gl-now":"^1.3.1","glslify":"^1.4.0","ndarray":"^1.0.15","ndarray-fill":"^1.0.1","a-big-triangle":"0.0.0"}},"2.0.1":{"name":"gl-fbo","version":"2.0.1","keywords":["fbo","frame","buffer","framebuffer","object","webgl","gl","offscreen","render","texture","renderbuffer","render"],"license":"MIT","_id":"gl-fbo@2.0.1","maintainers":[{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"chrisdickinson","email":"chris@neversaw.us"}],"homepage":"https://github.com/stackgl/gl-fbo","bugs":{"url":"https://github.com/stackgl/gl-fbo/issues"},"dist":{"shasum":"6d4c8ecd21b52d5e9cf4439423731d913b8b29b0","tarball":"https://registry.npmjs.org/gl-fbo/-/gl-fbo-2.0.1.tgz","integrity":"sha512-7ueXubgWFPyZmznixRJOX8ejjmeYoE+gX9zynOTU/As8EbjVMYizHZv8+ho7VKgxkJsdoA05P6mmu9Jw1Pj7GQ==","signatures":[{"sig":"MEUCIDBvJSku/+1ppjRNSW2s62TWEMyoKg7gZFgC6ZgkhjCGAiEA8+IqRWh3uGvLwyx/DFtW2G+tCyfTKEXaM/1Nzhb6aB0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"fbo.js","_from":".","authors":["Mikola Lysenko <mikolalysenko@gmail.com> (http://0fps.net)","Hugh Kennedy <hughskennedy@gmail.com> (http://hughsk.io)","Chris Dickinson <chris@neversaw.us> (http://neversaw.us)"],"gitHead":"6173b4ee305e99f359a1a5939bba28169699d9ef","scripts":{"test":"tap test/*.js","start":"beefy --open example/example.js -- --transform glslify"},"_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"repository":{"url":"git://github.com/stackgl/gl-fbo.git","type":"git"},"_npmVersion":"1.4.3","description":"Frame buffer object wrapper for WebGL","directories":{},"dependencies":{"webglew":"^1.0.0","gl-texture2d":"^2.0.0"},"devDependencies":{"gl-now":"^1.3.1","glslify":"^1.4.0","ndarray":"^1.0.15","ndarray-fill":"^1.0.1","a-big-triangle":"0.0.0"}},"2.0.2":{"name":"gl-fbo","version":"2.0.2","keywords":["fbo","frame","buffer","framebuffer","object","webgl","gl","offscreen","render","texture","renderbuffer","render"],"license":"MIT","_id":"gl-fbo@2.0.2","maintainers":[{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"chrisdickinson","email":"chris@neversaw.us"}],"homepage":"https://github.com/stackgl/gl-fbo","bugs":{"url":"https://github.com/stackgl/gl-fbo/issues"},"dist":{"shasum":"c6d5efe96a94b400a0dacaf6b2bc4b2f3d688676","tarball":"https://registry.npmjs.org/gl-fbo/-/gl-fbo-2.0.2.tgz","integrity":"sha512-mpK93pwN7/8it+Kw27rIldj5IUehZy6Jv3pZjyNkKKvyBuNyrZi6o1xI4RAXg9zxupp927q1y1UHgySIKUmFmg==","signatures":[{"sig":"MEUCIDNJcsabAqUWvCw/LdyRv/JGu9g9BX0/4aAlpSqOTGAvAiEA1E7YkkKDFOPheHtd37nSiVyPS3x+hs87W08+3Ns/DvU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"fbo.js","_from":".","_shasum":"c6d5efe96a94b400a0dacaf6b2bc4b2f3d688676","authors":["Mikola Lysenko <mikolalysenko@gmail.com> (http://0fps.net)","Hugh Kennedy <hughskennedy@gmail.com> (http://hughsk.io)","Chris Dickinson <chris@neversaw.us> (http://neversaw.us)"],"gitHead":"6173b4ee305e99f359a1a5939bba28169699d9ef","scripts":{"test":"tap test/*.js","start":"beefy --open example/example.js -- --transform glslify"},"_npmUser":{"name":"chrisdickinson","email":"chris@neversaw.us"},"repository":{"url":"git://github.com/stackgl/gl-fbo.git","type":"git"},"_npmVersion":"1.4.14","description":"Frame buffer object wrapper for WebGL","directories":{},"dependencies":{"webglew":"^1.0.0","gl-texture2d":"^2.0.0"},"devDependencies":{"gl-now":"^1.3.1","glslify":"^1.4.0","ndarray":"^1.0.15","ndarray-fill":"^1.0.1","a-big-triangle":"0.0.0"}},"2.0.3":{"name":"gl-fbo","version":"2.0.3","keywords":["fbo","frame","buffer","framebuffer","object","webgl","gl","offscreen","render","texture","renderbuffer","render"],"license":"MIT","_id":"gl-fbo@2.0.3","maintainers":[{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"chrisdickinson","email":"chris@neversaw.us"}],"homepage":"https://github.com/stackgl/gl-fbo","bugs":{"url":"https://github.com/stackgl/gl-fbo/issues"},"dist":{"shasum":"07d8e239f4e1454f7d69bae2acfd9fd228f5e561","tarball":"https://registry.npmjs.org/gl-fbo/-/gl-fbo-2.0.3.tgz","integrity":"sha512-kDpr6GJ0dcrwQqcJsfVwDxb8Hc+UBCnv6Jyx46fzvsgyijYlm5lle2u39Hak6Id5thy9S+jHre6u5alycmN7SQ==","signatures":[{"sig":"MEUCIQCLqy7aU05EugYvyO1uXShZhBfDABNIsUqtUNpvWZzsQgIgZsmIKjhLRjpeUIObQhOVLca4kYvnsvRx3GUN7Fr3ATE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"fbo.js","_from":".","authors":["Mikola Lysenko <mikolalysenko@gmail.com> (http://0fps.net)","Hugh Kennedy <hughskennedy@gmail.com> (http://hughsk.io)","Chris Dickinson <chris@neversaw.us> (http://neversaw.us)"],"gitHead":"6173b4ee305e99f359a1a5939bba28169699d9ef","scripts":{"test":"tap test/*.js","start":"beefy --open example/example.js -- --transform glslify"},"_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"repository":{"url":"git://github.com/stackgl/gl-fbo.git","type":"git"},"_npmVersion":"1.4.3","description":"Frame buffer object wrapper for WebGL","directories":{},"dependencies":{"webglew":"^1.0.0","gl-texture2d":"^2.0.0"},"devDependencies":{"gl-now":"^1.3.1","glslify":"^1.4.0","ndarray":"^1.0.15","ndarray-fill":"^1.0.1","a-big-triangle":"0.0.0"}},"2.0.4":{"name":"gl-fbo","version":"2.0.4","keywords":["fbo","frame","buffer","framebuffer","object","webgl","gl","offscreen","render","texture","renderbuffer","render"],"license":"MIT","_id":"gl-fbo@2.0.4","maintainers":[{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"chrisdickinson","email":"chris@neversaw.us"},{"name":"mattdesl","email":"dave.des@gmail.com"},{"name":"substack","email":"mail@substack.net"},{"name":"thibauts","email":"thibaut.seguy@gmail.com"},{"name":"yoshuawuyts","email":"i@yoshuawuyts.com"}],"homepage":"https://github.com/stackgl/gl-fbo","bugs":{"url":"https://github.com/stackgl/gl-fbo/issues"},"dist":{"shasum":"ec2ecb315d746b22fdc271d1d0e84e42f1fc523a","tarball":"https://registry.npmjs.org/gl-fbo/-/gl-fbo-2.0.4.tgz","integrity":"sha512-gFAOO786KDykl5mgGheEsLdmioaVwmcAydR4sDhKprvH5c274RpC/ctyk4J3LR6lsYoLP9e/AA2wXfsWFLWSOg==","signatures":[{"sig":"MEYCIQC4HzKgx8+N7AizgNuM8Qt6/ilkhJ8TRejRMhqd4jHC0AIhAN8abHsKVWTJq2NhuovumChRaJcB4C2s2lIQvrZBo0MF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"fbo.js","_from":".","_shasum":"ec2ecb315d746b22fdc271d1d0e84e42f1fc523a","authors":["Mikola Lysenko <mikolalysenko@gmail.com> (http://0fps.net)","Hugh Kennedy <hughskennedy@gmail.com> (http://hughsk.io)","Chris Dickinson <chris@neversaw.us> (http://neversaw.us)"],"gitHead":"6173b4ee305e99f359a1a5939bba28169699d9ef","scripts":{"test":"tap test/*.js","start":"beefy --open example/example.js -- --transform glslify"},"_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"repository":{"url":"git://github.com/stackgl/gl-fbo.git","type":"git"},"_npmVersion":"2.7.4","description":"Frame buffer object wrapper for WebGL","directories":{},"_nodeVersion":"0.12.2","dependencies":{"webglew":"^1.0.0","gl-texture2d":"^2.0.0"},"devDependencies":{"gl-now":"^1.3.1","glslify":"^1.4.0","ndarray":"^1.0.15","ndarray-fill":"^1.0.1","a-big-triangle":"0.0.0"}},"2.0.5":{"name":"gl-fbo","version":"2.0.5","keywords":["fbo","frame","buffer","framebuffer","object","webgl","gl","offscreen","render","texture","renderbuffer","render"],"license":"MIT","_id":"gl-fbo@2.0.5","maintainers":[{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"chrisdickinson","email":"chris@neversaw.us"},{"name":"mattdesl","email":"dave.des@gmail.com"},{"name":"substack","email":"mail@substack.net"},{"name":"thibauts","email":"thibaut.seguy@gmail.com"},{"name":"yoshuawuyts","email":"i@yoshuawuyts.com"}],"homepage":"https://github.com/stackgl/gl-fbo","bugs":{"url":"https://github.com/stackgl/gl-fbo/issues"},"dist":{"shasum":"0fa75a497cf787695530691c8f04abb6fb55fa22","tarball":"https://registry.npmjs.org/gl-fbo/-/gl-fbo-2.0.5.tgz","integrity":"sha512-tDq6zQSQzvvK2QwPV7ln7cf3rs0jV1rQXqKOEuB145LdN+xhADPBtXHDJ3Ftk80RAJimJU0AaQBgP/X6yYGNhQ==","signatures":[{"sig":"MEUCIEXus/GNj+W/NkfJrBRdhHcn6P8CfGisGVHgxjtkH1khAiEA/lEzVnDxPnVzNufMfoGtMNcWr6Y2YPKBsld6J5xiyAQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"fbo.js","_from":".","_shasum":"0fa75a497cf787695530691c8f04abb6fb55fa22","authors":["Mikola Lysenko <mikolalysenko@gmail.com> (http://0fps.net)","Hugh Kennedy <hughskennedy@gmail.com> (http://hughsk.io)","Chris Dickinson <chris@neversaw.us> (http://neversaw.us)"],"gitHead":"6173b4ee305e99f359a1a5939bba28169699d9ef","scripts":{"test":"tap test/*.js","start":"beefy --open example/example.js -- --transform glslify"},"_npmUser":{"name":"mikolalysenko","email":"mikolalysenko@gmail.com"},"repository":{"url":"git://github.com/stackgl/gl-fbo.git","type":"git"},"_npmVersion":"2.7.4","description":"Frame buffer object wrapper for WebGL","directories":{},"_nodeVersion":"0.12.2","dependencies":{"gl-texture2d":"^2.0.0"},"devDependencies":{"gl-now":"^1.3.1","glslify":"^1.4.0","ndarray":"^1.0.15","ndarray-fill":"^1.0.1","a-big-triangle":"0.0.0"}}},"time":{"created":"2013-06-13T23:30:21.931Z","modified":"2026-08-18T16:34:17.164Z","0.0.0":"2013-06-13T23:30:23.135Z","0.1.0":"2013-06-27T21:17:29.567Z","0.1.1":"2013-08-03T23:03:02.421Z","1.0.0":"2014-02-02T03:58:32.717Z","1.0.1":"2014-03-27T17:11:32.967Z","1.0.2":"2014-04-02T02:26:04.737Z","1.1.0":"2014-06-12T21:17:56.876Z","1.1.1":"2014-06-13T15:26:42.964Z","1.1.2":"2014-06-14T16:25:43.222Z","1.1.3":"2014-06-18T18:40:43.240Z","2.0.0":"2014-07-23T02:45:16.185Z","2.0.1":"2014-08-12T23:16:00.569Z","2.0.2":"2014-08-13T23:44:54.651Z","2.0.3":"2014-09-04T22:29:30.040Z","2.0.4":"2015-05-24T14:47:43.376Z","2.0.5":"2015-06-10T20:14:24.385Z"},"bugs":{"url":"https://github.com/stackgl/gl-fbo/issues"},"license":"MIT","homepage":"https://github.com/stackgl/gl-fbo","keywords":["fbo","frame","buffer","framebuffer","object","webgl","gl","offscreen","render","texture","renderbuffer","render"],"repository":{"url":"git://github.com/stackgl/gl-fbo.git","type":"git"},"description":"Frame buffer object wrapper for WebGL","maintainers":[{"email":"mikolalysenko@gmail.com","name":"mikolalysenko"},{"email":"wwwtyro@gmail.com","name":"wwwtyro"},{"email":"thibaut.seguy@gmail.com","name":"thibauts"},{"email":"me@mikkoh.com","name":"mikkoh"},{"email":"dark.owl0753@fastmail.com","name":"yoshuawuyts"},{"email":"dave.des@gmail.com","name":"mattdesl"},{"email":"hughskennedy@gmail.com","name":"hughsk"},{"email":"chris@neversaw.us","name":"chrisdickinson"},{"email":"tatum.creative@gmail.com","name":"tatumcreative"}],"readme":"gl-fbo\n======\nWebGL framebuffer object wrapper\n\n## Example\n\n[Try this in your browser if you have WebGL](http://stackgl.github.io/gl-fbo/)\n\n```javascript\nvar shell = require(\"gl-now\")()\nvar createFBO = require(\"gl-fbo\")\nvar glslify = require(\"glslify\")\nvar ndarray = require(\"ndarray\")\nvar fill = require(\"ndarray-fill\")\nvar fillScreen = require(\"a-big-triangle\")\n\nvar createUpdateShader = glslify({\n  vertex: \"\\\n    attribute vec2 position;\\\n    varying vec2 uv;\\\n    void main() {\\\n      gl_Position = vec4(position,0.0,1.0);\\\n      uv = 0.5 * (position+1.0);\\\n    }\",\n  fragment: \"\\\n    precision mediump float;\\\n    uniform sampler2D buffer;\\\n    uniform vec2 dims;\\\n    varying vec2 uv;\\\n    void main() {\\\n      float n = 0.0;\\\n      for(int dx=-1; dx<=1; ++dx)\\\n      for(int dy=-1; dy<=1; ++dy) {\\\n        n += texture2D(buffer, uv+vec2(dx,dy)/dims).r;\\\n      }\\\n      float s = texture2D(buffer, uv).r;\\\n      if(n > 3.0+s || n < 3.0) {\\\n        gl_FragColor = vec4(0,0,0,1);\\\n      } else {\\\n        gl_FragColor = vec4(1,1,1,1);\\\n      }\\\n    }\",\n  inline: true\n})\n\nvar createDrawShader = glslify({\n  vertex: \"\\\n    attribute vec2 position;\\\n    varying vec2 uv;\\\n    void main() {\\\n      gl_Position = vec4(position,0.0,1.0);\\\n      uv = 0.5 * (position+1.0);\\\n    }\",\n  fragment: \"\\\n    precision mediump float;\\\n    uniform sampler2D buffer;\\\n    varying vec2 uv;\\\n    void main() {\\\n      gl_FragColor = texture2D(buffer, uv);\\\n    }\",\n  inline: true\n})\n\nvar state, updateShader, drawShader, current = 0\n\nshell.on(\"gl-init\", function() {\n  var gl = shell.gl\n  \n  //Turn off depth test\n  gl.disable(gl.DEPTH_TEST)\n\n  //Initialize shaders\n  updateShader = createUpdateShader(gl)\n  drawShader = createDrawShader(gl)\n\n  //Allocate buffers\n  state = [ createFBO(gl, [512, 512]), createFBO(gl, [512, 512]) ]\n  \n  //Initialize state buffer\n  var initial_conditions = ndarray(new Uint8Array(512*512*4), [512, 512, 4])\n  fill(initial_conditions, function(x,y,c) {\n    if(c === 3) {\n      return 255\n    }\n    return Math.random() > 0.9 ? 255 : 0\n  })\n  state[0].color[0].setPixels(initial_conditions)\n  \n  //Set up vertex pointers\n  drawShader.attributes.position.location = updateShader.attributes.position.location = 0\n})\n\nshell.on(\"tick\", function() {\n  var gl = shell.gl\n  var prevState = state[current]\n  var curState = state[current ^= 1]\n\n  //Switch to state fbo\n  curState.bind()\n  \n  //Run update shader\n  updateShader.bind()\n  updateShader.uniforms.buffer = prevState.color[0].bind()\n  updateShader.uniforms.dims = prevState.shape\n  fillScreen(gl)\n})\n\nshell.on(\"gl-render\", function(t) {\n  var gl = shell.gl\n  \n  //Render contents of buffer to screen\n  drawShader.bind()\n  drawShader.uniforms.buffer = state[current].color[0].bind()\n  fillScreen(gl)\n})\n```\n\nResult:\n\n<img src=\"https://raw.github.com/stackgl/gl-fbo/master/screenshot.png\">\n\n\n## Install\n\nInstall using npm:\n\n    npm install gl-fbo\n\n# API\n\n### `var createFBO = require(\"gl-fbo\")`\n\n## Constructor\nThere is currently only one default way to create a Framebuffer object.  You can construct a framebuffer using the following syntax:\n\n### `var fbo = createFBO(gl, shape[, options])`\nCreates a wrapped framebuffer object\n\n* `gl` is a handle to a WebGL context\n* `shape` is a length 2 array encoding the `[width, height]` of the frame buffer\n* `options` is an object containing the following optional properties:\n\n    + `options.preferFloat` Upgrade to floating point if available, otherwise fallback to 8bit. (default `false`)\n    + `options.float` Use floating point textures (default `false`)\n    + `options.color`  The number of color buffers to create (default `1`)\n    + `options.depth` If fbo has a depth buffer (default: `true`)\n    + `options.stencil` If fbo has a stencil buffer (default: `false`)\n\n## Methods\n\n### `fbo.bind()`\nBinds the framebuffer object to the display.  To rebind the original drawing buffer, you can just call WebGL directly:\n\n```javascript\n//Bind the drawing buffer\ngl.bindFramebuffer(gl.FRAMEBUFFER, null)\n```\n\n### `fbo.dispose()`\nDestroys the framebuffer object and releases all associated resources\n\n## Properties\n\n\n### `fbo.shape`\nReturns the shape of the frame buffer object.  Writing to this property resizes the framebuffer.  For example,\n\n```javascript\nfbo.shape = [ newWidth, newHeight ]\n```\n\n### `fbo.gl`\nA reference to the WebGL context\n\n### `fbo.handle`\nA handle to the underlying Framebuffer object.\n\n### `fbo.color`\nAn array containing [`gl-texture2d`](https://github.com/stackgl/gl-texture2d) objects representing the buffers.  \n\n### `fbo.depth`\nThe depth/stencil component of the FBO.  Stored as a [`gl-texture2d`](https://github.com/stackgl/gl-texture2d).  If not present, is `null`.\n\nCredits\n=======\n(c) 2013-2014 Mikola Lysenko. MIT License","readmeFilename":"README.md","users":{"hughsk":true}}