All Projects → camchenry → shaderview

camchenry / shaderview

Licence: MIT license
A GLSL shader development tool for the LÖVE game framework.

Programming Languages

lua
6591 projects
GLSL
2045 projects

Projects that are alternatives of or similar to shaderview

shaderplace
Real-time collaborative GLSL livecode editor
Stars: ✭ 43 (+95.45%)
Mutual labels:  shaders, glsl
ofxShadertoy
Addon for openFrameworks that sets up and loads Shadertoy (http://www.shadertoy.com) shaders
Stars: ✭ 77 (+250%)
Mutual labels:  shaders, glsl
NobleRT
A Minecraft shaderpack that enhances one's experience with the help of good-looking graphics and light simulations.
Stars: ✭ 76 (+245.45%)
Mutual labels:  shaders, glsl
Shadered
Lightweight, cross-platform & full-featured shader IDE
Stars: ✭ 3,247 (+14659.09%)
Mutual labels:  shaders, glsl
Unity3D-Plane-Clipping
Plane clipping shaders for Unity3D 5. Extends the Standard shader!
Stars: ✭ 84 (+281.82%)
Mutual labels:  shaders, glsl
Perlin-Noise-3D-Voxel-Generator
Voxel generator based on perlin 3d noise | Python OpenGL
Stars: ✭ 22 (+0%)
Mutual labels:  shaders, glsl
webassembly-webgl-shaders
Demo project for using WebGL shaders in WebAssembly
Stars: ✭ 107 (+386.36%)
Mutual labels:  shaders, glsl
Spirv Vm
Virtual machine for executing SPIR-V
Stars: ✭ 173 (+686.36%)
Mutual labels:  shaders, glsl
cellular-automata-explorer
(WIP) An interactive web app for exploring cellular automata.
Stars: ✭ 18 (-18.18%)
Mutual labels:  shaders, glsl
FNode
Tool based in nodes to build GLSL shaders without any programming knowledge written in C using OpenGL and GLFW.
Stars: ✭ 81 (+268.18%)
Mutual labels:  shaders, glsl
Js
turbo.js - perform massive parallel computations in your browser with GPGPU.
Stars: ✭ 2,591 (+11677.27%)
Mutual labels:  shaders, glsl
Messier87
A realtime raytracing blackhole renderer
Stars: ✭ 53 (+140.91%)
Mutual labels:  shaders, glsl
Glslviewer
Console-based GLSL Sandbox for 2D/3D shaders shaders
Stars: ✭ 2,834 (+12781.82%)
Mutual labels:  shaders, glsl
procedural-tileable-shaders
Collection of tileable procedural textures such as: cellular noise, fbm, voronoi, perlin and other.
Stars: ✭ 175 (+695.45%)
Mutual labels:  shaders, glsl
React Regl
React Fiber Reconciler Renderer for Regl WebGL
Stars: ✭ 171 (+677.27%)
Mutual labels:  shaders, glsl
glNoise
A collection of GLSL noise functions for use with WebGL with an easy to use API.
Stars: ✭ 185 (+740.91%)
Mutual labels:  shaders, glsl
Gaiasky
Mirror of Gaia Sky repository hosted on Gitlab: https://gitlab.com/langurmonkey/gaiasky
Stars: ✭ 162 (+636.36%)
Mutual labels:  shaders, glsl
Glsltuto
GLSL shaders tutorial
Stars: ✭ 168 (+663.64%)
Mutual labels:  shaders, glsl
ModularMusicVisualizer
Project in Hiatus, unmaintained, being rewritten privately. Will Open Source when stuff is ready. Project will be Renamed.
Stars: ✭ 81 (+268.18%)
Mutual labels:  shaders, glsl
sparksl-noise
minimum proof of concept about procedural noise generation in SparkAR's shader language (SparkSL).
Stars: ✭ 16 (-27.27%)
Mutual labels:  shaders, glsl

shaderview

A shader development and viewing tool for the LÖVE game framework.

Features

  • Automatic file reloading - Your app/shaders/textures will automatically reload when changes are detected.
  • Robust error handling - Even when your app or shader crashes, Shaderview won't. Shaderview will gracefully recover when you fix the error.
  • Debug tools - View project info, performance data, and textures all inside the integrated debug GUI.

How to use

Shaderview creates and loads projects from a save directory, which can be found using love.filesystem.getSaveDirectory. In this document, the save directory will be referred to as save/.

When you create a project it is placed inside of save/projects/. For example, if you make a project called "my_shader" then the associated project folder will be save/projects/my_shader. The structure of a project folder looks like this:

  • project/
    • app/
      • main.lua
    • shaders/
    • textures/

App

The app/main.lua file is the core of your application, where you can send variables to shaders, create canvases, and set the active shader. It is much like a normal LÖVE main.lua file, except it defines functions in a module rather than in the global table. The normal LÖVE callbacks can be easily translated to this format. For example, love.keypressed becomes app:keypressed, love.update becomes app:update and so on. The arguments remain the same and are simply passed into your application code as they would be normally. When this file changes, it will be reloaded automatically.

Shaders

The shaders/ directory is where you place all of your shader files. Shaders inside of this directory will be loaded into a global table called shaders where the key is the name of the file (without the extension) and the value is the created Shader. For example, shaders/my_shader.frag becomes shaders.my_shader or shaders['my_shader']. Whenever you change a shader, it will be reloaded automatically.

Textures

The textures/ directory is where you place all of your textures. Textures in this directory will be loaded into a global table called textures where the key is the name of the file (without the extension) and the value is the created Image. For example, textures/my_texture.png becomes textures.my_texture or textures['my_texture']. Whenever you change a texture, it will be reloaded automatically.

Configuration

The default configuration file for Shaderview is save/config/default.lua and the user configuration file is save/config/user.lua. The user configuration file will overwrite any properties set in the default file. When either the default or user configuration is modified, it will be reloaded.

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