Shader debugger is the newest addition to SHADERed. It is simple to use - you just pause the preview and select the pixel that you are interested in. After starting the debug process, you are able to:
With SHADERed you are not limited to vertex and pixel shaders because it also has support for compute & geometry shaders. You can create advanced effects and animations using these two.
Another new feature in SHADERed v1.3 is the ability to use and develop plugins. While the API is still not fully finished and there is currently almost no documentation, you can see the API's potential by installing and testing these two plugins: GodotShaders and ShadertoyImport
There are different ways to recompile your shaders. You can press F5 to manually recompile your shader, make it recompile shaders on file modify event (which then allows you to use external editors) or make it recompile changed and nonsaved shaders every 200ms.
You can modify rasterizer, blend and depth-stencil states. Using these states you can: turn on wireframe mode, disable depth test, use stencil buffer, disable culling, custom blending, etc... All these things help you achieve even more advanced effects.
Instancing allows you to render huge amount of objects with little to no effort. And thanks to the compute shaders and buffer objects you can do so many cool things.
You can render your scene to render textures. You can bind multiple render textures to one shader pass. This can help with creating G-Buffer and similar things more easily. You can modify these render texture properties: size, format & clear color.
SHADERed supports various file formats. Thanks to assimp you can load many 3D models. But you can also use built-in geometry objects such as cubes, spheres, planes, full screen quads, etc... Besides that, you can load textures from files and bind them to your shader. SHADERed also supports cubemaps & 3D textures. You can add music to your projects and create amazing music visualizers!
Besides the built-in shader variables (such as window size, mouse position, camera view matrix, etc...) you can also create your own variables with custom values. These variables can be changed per specific 3D object with no programming needed (for example, you can have the variable value to be 1.0f for one object, but 0.0f for the next one). You can pin variables for easy editing.
Do you need to zoom in on an area of your shader output? You can do that by holding ALT and selecting the area you want to zoom in. This can be useful when developing antialiasing shaders. It is also possible to pause the time.
You can modify SHADERed workspace however you want to thanks to Omar Cornut's great work on Dear ImGUI. You can even create your own UI theme. SHADERed comes with a few built-in themes. It is also possible to create custom templates. This allows you to focus on creative part of your shader project rather than doing repetitive tasks every time you want to try something.
© 2020 Dario Franjic