All Projects → patriciogonzalezvivo → Glsleditor

patriciogonzalezvivo / Glsleditor

Licence: mit
Simple WebGL Fragment Shader Editor

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Glsleditor

Curtainsjs
curtains.js is a lightweight vanilla WebGL javascript library that turns HTML DOM elements into interactive textured planes.
Stars: ✭ 1,039 (-22.75%)
Mutual labels:  webgl, glsl, shaders, texture
Shader Doodle
A friendly web-component for writing and rendering shaders.
Stars: ✭ 356 (-73.53%)
Mutual labels:  webgl, glsl, shaders, texture
Glslcanvas
Simple tool to load GLSL shaders on HTML Canvas using WebGL
Stars: ✭ 1,067 (-20.67%)
Mutual labels:  webgl, glsl, shaders, texture
Solarsys
Realistic Solar System simulation with three.js
Stars: ✭ 49 (-96.36%)
Mutual labels:  webgl, glsl, shaders
Fsynth
Web-based and pixels-based collaborative synthesizer
Stars: ✭ 146 (-89.14%)
Mutual labels:  webgl, glsl, shaders
Glsl Godrays
This module implements a volumetric light scattering effect(godrays)
Stars: ✭ 155 (-88.48%)
Mutual labels:  webgl, glsl, shaders
Webgl Fundamentals
WebGL lessons that start with the basics
Stars: ✭ 3,315 (+146.47%)
Mutual labels:  webgl, glsl, shaders
React Regl
React Fiber Reconciler Renderer for Regl WebGL
Stars: ✭ 171 (-87.29%)
Mutual labels:  webgl, glsl, shaders
Glsl Worley
Worley noise implementation for WebGL shaders
Stars: ✭ 66 (-95.09%)
Mutual labels:  webgl, glsl, shaders
Imogen
GPU Texture Generator
Stars: ✭ 648 (-51.82%)
Mutual labels:  glsl, shaders, texture
Veda
⚡VJ / Live Coding on Atom⚡
Stars: ✭ 373 (-72.27%)
Mutual labels:  webgl, glsl, shaders
Wagner
Effects composer for three.js
Stars: ✭ 930 (-30.86%)
Mutual labels:  webgl, glsl, shaders
Glslviewer
Console-based GLSL Sandbox for 2D/3D shaders shaders
Stars: ✭ 2,834 (+110.71%)
Mutual labels:  glsl, shaders, texture
Langterm
🕹️ WebGL-based VT220 emulator, made as a learning example and frontend for a text adventure
Stars: ✭ 35 (-97.4%)
Mutual labels:  webgl, glsl, shaders
Month Of Shaders
One GLSL shader for every day of the month August
Stars: ✭ 12 (-99.11%)
Mutual labels:  webgl, 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 (+769.74%)
Mutual labels:  webgl, glsl, shaders
Sky Shader
☀️ WebGL sky and sun shader editor
Stars: ✭ 90 (-93.31%)
Mutual labels:  webgl, glsl
Infinite Webl Gallery
Infinite Auto-Scrolling Gallery using WebGL and GLSL Shaders.
Stars: ✭ 42 (-96.88%)
Mutual labels:  webgl, shaders
Medium
Progressive WebGL toolkit for art.
Stars: ✭ 90 (-93.31%)
Mutual labels:  webgl, glsl
Godot Shaders
A large library of free and open-source shaders for the Godot game engine. Here, you'll get 2D and 3D shaders with playable demos.
Stars: ✭ 988 (-26.54%)
Mutual labels:  glsl, shaders

GlslEditor

Donate

Friendly GLSL Shader editor based on Codemirror compatible with glslViewer (C++/OpenGL ES) and glslCanvas (JS/WebGL).

Was originally develop to work as a embedded editor for The Book of Shaders. But now have grown as a stand alone Web app. Thanks to their compatibility with other apps of this ecosystems like glslViewer that runs in the RaspberryPi directly from console, GlslEditor interact with other projects like OpenFrame.io allowing the user to export the shaders to frames with only one button.

You can use it directly from editor.thebookofshaders.com or host one on your own website by including the two build files: glslEditor.css and glslEditor.js:

<link type="text/css" rel="stylesheet" href="https://rawgit.com/patriciogonzalezvivo/glslEditor/gh-pages/build/glslEditor.css">
<script type="application/javascript" src="https://rawgit.com/patriciogonzalezvivo/glslEditor/gh-pages/build/glslEditor.js"></script>

You can also install it through npm:

npm install glslEditor --save

And then you are ready to use it by passing an DOM element or query selector string, and a set of options;

<body>
    <div id="glsl_editor"></div>
</body>
<script type="text/javascript">
    const glslEditor = new GlslEditor('#glsl_editor', { 
        canvas_size: 500,
        canvas_draggable: true,
        theme: 'monokai',
        multipleBuffers: true,
        watchHash: true,
        fileDrops: true,
        menu: true
    });
</script>

This is a list of all the options you can set up:

Property type description default
canvas_size number Initial square size of the shader canvas 250
canvas_width number Initial width of the shader canvas 250
canvas_height number Initial height of the shader canvas 250
canvas_draggable bool Enables dragging, resizing and snaping capabilities to the shader canvas false
canvas_follow bool Enables the shader canvas to follow the curser false
theme string Codemirror style to use on the editor "default"
menu bool Adds a menu that contain: 'new', 'open', 'save' and 'share' options false
multipleBuffers bool Allows the creation of new tabs false
fileDrops bool Listen to Drag&Drop events false
watchHash bool Listen to changes on the wash path to load files false
frag_header string Adds a hidden header to every shader before compiling ""
frag_footer string Adds a hidden footer to every shader before compiling ""
indentUnit number How many spaces a block should be indented 4
tabSize number The width of a tab character 4
indentWithTabs bool Whether, when indenting, the spaces should be replaced by tabs false
lineWrapping bool Whether CodeMirror should wrap for long lines true
autofocus bool Can be used to make CodeMirror focus itself on initialization true

Some of the features features

  • Inline Color picker and 3D vector picker for '''vec3''

  • Inline Trackpad for '''vec2'''

  • Slider for floats

  • Inline error display

  • Breakpoints for variables

Electron Version

When developing use this to automatically reload Electron on every change

npm run dev

For use just do:

npm run start

TODOs

  • [ ] Twitter sharing options

  • [ ] Facebook sharing options

  • [ ] Open modal from url, log or file

  • [ ] Uniform widgets

  • [ ] Time widget

  • [ ] Texture inspector

Author

Patricio Gonzalez Vivo: github | twitter | website

Acknowledgments

Special thanks to:

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].