Luis Blanko
Company: AESD Lab
Node.js is most often associated with development of server solutions or data-processing scripts (linting, building, DB interactions). The official Node.js web-site subtly notes: "Node.js is an open-source and cross-platform JavaScript runtime environment", but immediately switches to the topic of "server" solutions. However, Node.js only provides the tools and game rules, while not limiting us to use them exclusively in the context of server development. One of such tools is the ability to create compiled binary add-ons, that can later be imported by JS as ordinary modules.
In this talk we will consider running CUDA/OpenCL and WebGL JS code in Node.js without a browser, by using compiled add-ons. The proposed solution is to be compatible with three.js and other popular WebGL libraries. We will analyze why this can be useful, and how to deal with the real-time graphics performance in Node.js. There will be additional examples of multimedia add-ons in this project. I will list the factors that can impact choice between this technology and other browser-solutions, and demonstrate this project being used in a commercial product.
Company: AESD Lab