![require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages](https://cdn.sanity.io/images/cgdhsj6q/production/be8ab80c8efa5907bc341c6fefe9aa20d239d890-1600x1097.png?w=400&fit=max&auto=format)
Security News
require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Initializes a full-screen display on the RPi on which OpenGL ES2 graphics can be drawn using a WebGL-compliant interface.
Provides a WebGL rendering context for nodejs. It is displayed in a window or fullscreen, depending on your platform.
Because on some targets OpenGL must be used instead of OpenGL ES2, you must do the following in your shaders:
#ifdef GL_ES
precision highp float;
#endif
GLFW and GLEW provides us with the functionality to start a OpenGL-enabled window. There are minor differences between OpenGL ES2 (WebGL) and OpenGL using GLEW. For more information, see: https://www.khronos.org/webgl/wiki_1_15/index.php/WebGL_and_OpenGL_Differences
This module requires node 4+. Please install from nodesource
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
Use Raspbian or make sure that includes and libs are in /opt/vc. Raspbian has a default GPU memory setting of 64M, which is quite low. It may lead to 0x0505 (out of memory) errors. You can increase this to a higher number using raspi-config.
Linux: libglew-dev libglfw3-dev
Mac OSX: Use Homebrew brew install pkg-config glfw3 glew For help with issues when installing pkg-config, see https://github.com/Automattic/node-canvas/wiki/Installation---OSX.
Windows: glew32.lib opengl32.lib
var webgl = require('wpe-webgl');
var options = {width: 1280, height: 720};
var gl = webgl.init(options);
while(true) {
gl.clearColor(0, 1.0, 1.0, 0.0);
// Set the viewport
gl.viewport( 0, 0, 1280, 720);
// Clear the color buffer
gl.clear(gl.COLOR_BUFFER_BIT);
// Do other GL-related stuff here.
webgl.nextFrame(true /* Use false to prevent buffer swapping */);
}
A couple of more elaborate examples can be found in the examples folder.
Name | Description |
---|---|
width | viewport width in px |
height | viewport height in px |
fullscreen | window or fullscreen? |
title | window title |
FAQs
Initializes a full-screen display on the RPi on which OpenGL ES2 graphics can be drawn using a WebGL-compliant interface.
The npm package wpe-webgl receives a total of 1 weekly downloads. As such, wpe-webgl popularity was classified as not popular.
We found that wpe-webgl demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.