Checking the impact of Shader code without having re run your games – Visual Studio 2013 Update 3 enhancements PixelShader

 

Visual Studio 2013 Update 3 has made significant cnages to the shader editing experience.

One of the great new features is that ability to Edit and Apply a new shader  as well as a side by side view of shader source code and compiler output.

You can access the new features by simply clicking on the shader file name in the Pipeline Stages window or the Pixel History window.

This will open the shader editor what is cool, is that the pixel shader shows both the source code and disassembly code generated by HLSL Shader Compiler.

This allows you to directly make changes in the source code, and once the tool detects differences in output, the Apply button at the will be enabled.

You simply need to click Apply to apply the changes to the current vsglog file and you can view how the changes impact the rendering result immediately, including..

1. Render Target view
2.  Pipeline Stages
3. Pixel History windows

Some additional great resources/features

The source code which you edit will be keep it in a temporary location (the path is underneath the window) and changes are only applied to the vsglog file and does not affect your original source.

Therefore you can use the vsglog file as a "playground" to try out different shader effects and view their impacts.

If your not keen on the changes or they have a detrimental impact to performance the changes can be easily reverted back to when the frame was captured by clicking the Reset button.

However if you like the changes and want to move the changes to the original source, you can use the Copy to… button which brings up a dialog where you can specify the location of the source file we should copy these changes to.

Ability to make live changes during debug

During shader debugging, you can make changes to the shader code, but the Apply button will only be enabled after debugging is stopped which is another nice feature.

7752_070214_1657_GraphicsDia3