nanovis / Shader-Editor

An online WGSL shader editor and compiler.

Home Page:https://shadereditor.kaust.edu.sa/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Shader Editor

This project is a WGSL online editor and compiler based on WebGPU/Emscripten and Dawn. Users could write shaders to do the pixel-level operations. During each frame, different input uniforms are fed into shaders to utilise mouse, time and texture information. After logging in, users could save shaders and upload textures.

Tested with Chrome Dev (version 106.0.5231.2) with the --enable-unsafe-webgpu flag.

Dependences

  • Emscripten: version 3.1.15
  • Node.js: version 14.18.2
  • MongoDB: version 4.4.13

Inspired by (and derived from) the following examples

Demo

How to run locally

$ git clone https://github.com/nanovis/Shader-Editor.git
$ cd Shader-Editor/out
$ npm install
$ cd ../vs_editor
$ npm install
$ cd .. && make serve

Access http://localhost:8080 on Chorme Dev and access chrome://flags to enable --enable-unsafe-webgpu.

Todo:

  • Provide an interface for users to create uniform buffers
  • Shaders' distributed version control
  • Simultaneous editing by multiple people
  • Shader sharing and publishing
  • Register email verification
  • ...

License

Shader Editor is licensed under the MIT License, see LICENSE for more information.

About

An online WGSL shader editor and compiler.

https://shadereditor.kaust.edu.sa/

License:MIT License


Languages

Language:JavaScript 66.7%Language:HTML 21.8%Language:C++ 10.4%Language:CSS 0.5%Language:C 0.3%Language:Handlebars 0.1%Language:TypeScript 0.1%Language:CMake 0.0%Language:WGSL 0.0%Language:Objective-C++ 0.0%Language:Objective-C 0.0%Language:Makefile 0.0%