I've developed a new editor based on the (messy) one I sent you a few weeks ago.
I tried to improve many things from the last version. Once again I leave it as a pull request if it can help you. As I added some code in the Wagner core to make it work (like the passes stacks abstraction) you may agree or not with this implementation. If you think these changes are not relevant for the core I'll try to maintain the editor as an external app :)
But if you like it, feel free to merge the fork and improve it as you need !
Many things need to be optimized (in the core additions and the editor itself) as it is only a draft yet.
Currently the editor supports :
Realtime shader uniforms editing
Nested uniforms
Reordering passes in the stack
Drag and drop reordering
Disable/enable pass
Here are the two modules I added to Wagner to make it work :
Stack which represents a list of passes (layers) with their parameters : shader name & associated uniforms (stack passes are not Wagner Shader objects)
ShadersPool which contains the Shaders objects used by stacks and dynamically instanciated when needed
The pool object allows to store many stacks without keeping lots of shaders objects in memory, and easily switch from a stack to another.
Some possible enhancements :
JSON stack import/export
Nested stacks (using a combination of preset stacks as a stack)
Multiple preview scenes
Improve UI
Implementing stacks transition/easing ?
Some screenshots of the app at its current state :
Hi,
I've developed a new editor based on the (messy) one I sent you a few weeks ago.
I tried to improve many things from the last version. Once again I leave it as a pull request if it can help you. As I added some code in the Wagner core to make it work (like the passes stacks abstraction) you may agree or not with this implementation. If you think these changes are not relevant for the core I'll try to maintain the editor as an external app :) But if you like it, feel free to merge the fork and improve it as you need !
Many things need to be optimized (in the core additions and the editor itself) as it is only a draft yet.
Currently the editor supports :
Here are the two modules I added to Wagner to make it work :
Stack
which represents a list of passes (layers) with their parameters : shader name & associated uniforms (stack passes are not Wagner Shader objects)ShadersPool
which contains the Shaders objects used by stacks and dynamically instanciated when neededThe pool object allows to store many stacks without keeping lots of shaders objects in memory, and easily switch from a stack to another.
Some possible enhancements :
Some screenshots of the app at its current state :