GithubHelp home page GithubHelp logo

node-glfw's Introduction

NodeJS bindings to GLFW

This projects attempts to provide platform-independent access to windowing system and input devices on desktop/laptop computers using GLFW 3 and above.

Dependencies

  • NodeJS While v0.6.5+ work in many cases, some missing features for typed arrays are only available in v0.7.x. So we recommend at least v0.7.5.

  • GLEW (http://glew.sourceforge.net/) GLEW is used to find OpenGL extensions in a cross-platform manner.

  • GLFW (http://www.glfw.org/) GLFW is a simple multi-platform framework for opening a window, creating an OpenGL context, and managing input.

  • AntTweakBar (http://www.antisphere.com/Wiki/tools:anttweakbar) AntTweakBar allows programmers to quickly add a light and intuitive graphical user interface into graphic applications to interactively tweak parameters on-screen.

All of these libraries are cross-platform. node-glfw provides a Javascript wrapper to access native methods in GLFW and AntTweakBar. See example of usage in node-webgl/test/cube.js.

Once dependent libraries are installed, do

npm install node-gyp
npm install --save bindings nan
node-gyp rebuild

Installation (Mac)

Use Homebrew

brew install pkg-config glfw3 anttweakbar glew

Installation (Linux)

Use apt-get or similar package manager

sudo apt-get install libxrandr-dev libxinerama-dev libxcursor-dev libfreeimage-dev libglew-dev libxi-dev

Download AntTweakBar

cd AntTweakBar/src
make
sudo cp ../include/* /usr/local/include
sudo cp ../liblibAntTweakBar.* /usr/local/lib

Download GLFW3 (do not use apt-get install libglfw-dev, it is wrong version)

cd glfw
mkdir build
cd build
cmake ..
make
sudo make install

Installation (Windows)

Have Visual Studio (Express version works fine) installed. Windows dependencies are bundled with this package, so npm install node-glfw should work out-of-box. The binary packages for Windows on their respective web site above do work as well but you'll need to change the path in bindings.gyp to point to where you installed them, includes and libs.

Notes

  • node-glfw is a just a platform binding so don't expect samples here. You should install node-webgl, which contains lots of tests and examples using node-glfw features including AntTweakBar. See node-webgl/test/cube.js for an example of using AntTweakBar with your webgl code.
  • run node test/test.js to see a colored triangle with mouse tracking in the command-line. This indicates all is installed correctly.

node-glfw's People

Contributors

mikeseven avatar dithi avatar tmpvar avatar crashuxx avatar maratyszcza avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.