Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/reon90/glfwjs

The N-API bindings for GLFW
https://github.com/reon90/glfwjs

c glfw javascript n-api nodejs opengl vulkan

Last synced: about 8 hours ago
JSON representation

The N-API bindings for GLFW

Awesome Lists containing this project

README

        

# glfwJS

The N-API bindings for [GLFW](https://www.glfw.org/) multi-platform library for OpenGL, OpenGL ES and Vulkan development on the desktop. It provides a simple API for creating windows, contexts and surfaces, receiving input and events.

## Example
```js
if (!glfwInit()) {
process.exit(1);
}

const window = glfwCreateWindow(kWidth, kHeight, "Simple example", null, null);
if (!window) {
glfwTerminate();
process.exit(1);
}
glfwMakeContextCurrent(window);

glfwSwapInterval(1);
glfwSetKeyCallback(window, key_callback);

function drawLoop() {
if (!glfwWindowShouldClose(window)) {
setTimeout(drawLoop, 0);
} else {
glfwDestroyWindow(window);
glfwTerminate();
process.exit(0);
}

glfwSwapBuffers(window);
glfwPollEvents();
}
drawLoop();
```