All Projects → iY0Yi → ShaderBoy

iY0Yi / ShaderBoy

Licence: other
Simple text editor that lets you write Shadertoy shaders more comfortably, anytime, anywhere.

Programming Languages

javascript
184084 projects - #8 most used programming language
GLSL
2045 projects
SCSS
7915 projects
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to ShaderBoy

GLSLShaderShrinker
Optimizes the size of GLSL shader code.
Stars: ✭ 39 (-70.68%)
Mutual labels:  glsl, shader, shadertoy
DuEngine
An efficient interactive C++ renderer for ShaderToy-alike demos with 2D/3D/CubeMap/Video/Camera/LightField/Volume textures. (Partially used in my I3D 2018 papers)
Stars: ✭ 62 (-53.38%)
Mutual labels:  glsl, shader, shadertoy
card-game-GLSL
card game in the single GLSL shader
Stars: ✭ 20 (-84.96%)
Mutual labels:  glsl, shader, shadertoy
30-days-of-shade
30 days of shaders in GLSL using GLSLCanvas
Stars: ✭ 134 (+0.75%)
Mutual labels:  glsl, shadertoy, glsl-shaders
YALCT
Yet Another Live Coding Tool - Powered by Veldrid and elbow grease
Stars: ✭ 25 (-81.2%)
Mutual labels:  glsl, shadertoy, glsl-shaders
Bonzomatic
Live shader coding tool and Shader Showdown workhorse
Stars: ✭ 829 (+523.31%)
Mutual labels:  glsl, shader, shadertoy
Thebookofshaders
Step-by-step guide through the abstract and complex universe of Fragment Shaders.
Stars: ✭ 4,070 (+2960.15%)
Mutual labels:  glsl, shader, glsl-shaders
3d Game Shaders For Beginners
🎮 A step-by-step guide to implementing SSAO, depth of field, lighting, normal mapping, and more for your 3D game.
Stars: ✭ 11,698 (+8695.49%)
Mutual labels:  glsl, shader, glsl-shaders
Godot Realistic Water
Godot - Realistic Water Shader
Stars: ✭ 235 (+76.69%)
Mutual labels:  glsl, shader
Simplegodotcrtshader
A simple Godot shader that simulates CRT Displays
Stars: ✭ 236 (+77.44%)
Mutual labels:  glsl, shader
shaderplace
Real-time collaborative GLSL livecode editor
Stars: ✭ 43 (-67.67%)
Mutual labels:  glsl, shader
Magicshader
🔮 Tiny helper for three.js to debug and write shaders
Stars: ✭ 205 (+54.14%)
Mutual labels:  glsl, shader
Godot 3 2d Crt Shader
A 2D shader for Godot 3 simulating a CRT
Stars: ✭ 183 (+37.59%)
Mutual labels:  glsl, shader
shady
A GTK+ shader editor, that aims for Shadertoy.com compatibility (and more…)
Stars: ✭ 22 (-83.46%)
Mutual labels:  glsl, shadertoy
React Regl
React Fiber Reconciler Renderer for Regl WebGL
Stars: ✭ 171 (+28.57%)
Mutual labels:  glsl, glsl-shaders
glNoise
A collection of GLSL noise functions for use with WebGL with an easy to use API.
Stars: ✭ 185 (+39.1%)
Mutual labels:  glsl, glsl-shaders
frag3d.js
WebGL shader tools
Stars: ✭ 58 (-56.39%)
Mutual labels:  glsl, shader
Spirv Vm
Virtual machine for executing SPIR-V
Stars: ✭ 173 (+30.08%)
Mutual labels:  glsl, shader
osgw
Real-Time Ocean Animation with Gerstner Waves
Stars: ✭ 51 (-61.65%)
Mutual labels:  glsl, shader
sparksl-noise
minimum proof of concept about procedural noise generation in SparkAR's shader language (SparkSL).
Stars: ✭ 16 (-87.97%)
Mutual labels:  glsl, shader




ShaderBoy is a simple text editor that lets you write Shadertoy shaders more comfortably, anytime, anywhere. I like writing shaders for Shadertoy, or analyzing other people's esoteric shaders, and I created this especially because I wanted to do that on my smartphone. Whether you're traveling by train or plane, staying in the toilet, fishing or camping, you can write a shader anywhere and anytime. Your power to go.

There are PC version and smartphone version. Both allow you to write shaders with the same variable/function name as Shadertoy. On the PC version, you can fine-tune your shaders with a rich debugging GUI. It also has a recording mode so you can easily save your shader as a movie. The smartphone version consists of a minimal GUI element that assumes the use of a physical keyboards, with a small screen as much coding space as possible.

ShaderBoy uses Google Drive to store your shaders. From any device on which you log in with your Google account, you can continue coding the shader that you last edited.

Enjoy ShaderBoy!

This is not an official Shadertoy application.
Bug reports, feature requests, and 🍺 are welcome.
*iOS ver is WIP. There are many bugs yet. (especially Keymaps, CSS)





App

ShaderBoy is a PWA(Progressive Web Apps).
You can install the app from here.

*Howto: Install Progressive Web App (PWA) natively on Windows/macOS via Chrome Browser





Screenshots

















Keymaps

Smartphone Windows Mac
Compile ⌥+ENTER(SPACE) ⌥+ENTER ⌥+ENTER
Play/Pause ⌥+UP ⌥+UP ⌥+UP
Reset time ⌥+DOWN ⌥+DOWN ⌥+DOWN
Move to neighbor buffer ⌥+LEFT/RIGHT ⌥+LEFT/RIGHT ⌥+LEFT/RIGHT
Search ctrl+F ctrl+F ⌘+F
Replace ctrl+H ctrl+H ⌘+H
Resolution ctrl+1-4 ctrl+1-4 ctrl+1-4
Font size ctrl+-/+ ctrl+⇧+⌥+-/+ ⌘+⇧+⌥+-/+
Hide/Show WebGL canvas ctrl+⇧+⌥+V ctrl+⇧+⌥+V ⌘+⇧+⌥+V
Hide/Show Code & All GUIs ctrl+⇧+⌥+H ctrl+⇧+⌥+H ⌘+⇧+⌥+H
Hide/Show Timeline --- ctrl+⇧+⌥+T ⌘+⇧+⌥+T
Hide/Show Knobs GUI --- ctrl+⇧+⌥+D ⌘+⇧+⌥+D
Hide/Show iChannel GUI ctrl+⇧+⌥+A ctrl+⇧+⌥+A ⌘+⇧+⌥+A
Hide/Show Recording GUI --- ctrl+⇧+⌥+R ⌘+⇧+⌥+R
Create a new shader ctrl+⇧+⌥+N ctrl+⇧+⌥+N ctrl+⇧+⌥+N
Fork a shader ctrl+⇧+⌥+F ctrl+⇧+⌥+F ⌘+⇧+⌥+F
Save shader files ctrl+S ctrl +S ⌘+S
Open shader list ctrl+O ctrl+O ⌘+O
Mute/Unmute sound ctrl+M ctrl+M ⌥+M
Switch header info(FPS/shader name) ctrl+I ctrl+I ⌥+I
*And some of Sublime Text bindings by Codemirror.





Features

Compatibility

  • Shadertoy uniform variables
  • Multipass shader
  • Sound shader
  • Cubemap shader
  • Official assets(textures)
  • Official assets(sounds)
  • Display compilation time
  • Display number of chars
  • VR

Supported Shadertoy Uniforms

  • uniform vec3 iResolution; // viewport resolution (in pixels)
  • uniform float iTime; // shader playback time (in seconds)
  • uniform float iTimeDelta; // render time (in seconds)
  • uniform int iFrame; // shader playback frame
  • uniform float iFrameRate; // number of frames rendered per second
  • uniform vec4 iDate; // (year, month, day, time in seconds)
  • uniform vec4 iMouse; // mouse pixel coords. xy: current (if MLB down), zw: click
  • uniform float iChannelTime[4]; // channel playback time (in seconds)
  • uniform vec3 iChannelResolution[4]; // channel resolution (in pixels)
  • uniform samplerXX iChannel0..3; // input channel. XX = 2D/Cube
  • uniform float iSampleRate; // sound sample rate (i.e., 44100)

GUI/other usefuls

Other

  • GoogleDrive
  • Export Image shader(WebM/PNG/JPG/GIF)
  • Export Sound shader(WAV)
  • Witout Google account(Trial mode)
  • Syntax highlight
  • Import/Exprt JSON (for Shadertoy unofficial plugin)
  • Direct import from Shadertoy URL





Build Your ShaderBoy

Install dependencies

If you want have your own ShaderBoy,
Clone this repo and install dependencies.

$ npm install

Build

You then set up a local host for development.

$ npm start

or to build,

$ npm run build

Upload

And upload files in "dest" directory to your server.
That's it! Good luck!





Dependencies

ShaderBoy depends on some awesome js libralies.
Codemirror
CCapture.js
keymaster
css_browser_selector
tested with jest




Contact

iY0Yi





Beer

Paypal.me🍺





Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].