Shader-Shell
TODO
Design
Adjustable window params- Shader info
Code Design:
- Folder Structure
GLSL Support/Parsing (JSON format is disgusting)CG include files parsed into stringsFind a way to parse shader structure back into Three js shader for post processing compatibility- Parsing to GLSL file (download glsl)
Structs:
Spheres- Models obj
CameraHelpersGUI categorization- Model / Primitives Generalization
- Static debugger class for all objects
Controls:
OrbitControls- Different control modes
- Model switching
- View switching (shader)
UI Design
Helper paramsShader Params- Need to add support for vector, color and bool params
Deploying
Hosting at 'shadershell.codrinmihail.com'
Bugs
Cross-Origin Request Blocked
Purpose
I've been pretty frustrated with the lack of tools to quickly iterate shaders. Simply put, I don't want to have to write boilerplate code, install endless Dependencies, or setup a custom IDE just to write basic GLSL code and preview it.
ShaderShell solves that by: 1- Providing a simple environment with minimal dependencies out of the package. No boilerplate needed, everything is provided and you just create a ShellShader instance to code your GLSL shader. 2- A way to code material and post postprocessing shaders in a 3D environment. 3- A minimal interface to debug your parameters and quickly interface with your shader. 4- Being a completely front-end compatible solution. No Node js or npm install needed. You just open up the browser and it works!
Dependencies
- Three.js R120
- dat.gui