Description
Master list of osltoy
feature requests
osltoy
is a small example program loosely inspired by shadertoy -- a Qt application that lets you load or type in an OSL shader, which is then used to evaluate a color for each pixel in the display window of the app, and to interactively change the controls. Unlike the real Shadertoy, it's just meant to be a local app, not a web service. But it's a great way to tinker with OSL shaders, but it hasn't gotten a lot of development love lately.
We will use this issue to collect individual suggestions or feature requests for osltoy
. Please comment/reply on this ticket to request that items be added (or if you're on the TSC or have permissions to edit this description, feel free to do so.
Comment/reply to say "hey, I want to do task X" so that multiple people don't independently attempt the same tasks (if it's something where only one can really be accepted); we don't want anybody's work time to be wasted.
Good First Issues
These are small tasks ideal for newcomers to the project, suitable for Dev Days. They don't really require knowledge of how OSL itself is implemented under the covers, but some experience making C++ Qt GUI applications may be helpful, and it probably wouldn't hurt if you've fooled around a bit with the real Shadertoy to get inspiration for some things to add.
- [x] way to set search path for headers?
- [ ] auto-detect output variable -- doesn't need to be Cout if there's only one
- [ ] editor improvement: can we make the tab stops 4 spaces each?
- [ ] watch a shader file on disk, auto reload/recompile when updated
Bigger projects
These might require more extensive experience, planning complex features, or making big design decisions. Or maybe they will be fast? I'm only guessing.
- [ ] allow mouse and keyboard input -- somehow they could be fed into inputs to the shader on the next frame or something? Probably it would help to see how ShaderToy did it, for inspiration.
- [ ] allow "memory" -- can we turn any output into an input for the next frame?