Feed on
Posts
Comments

The changes have started for the next version of Shazzam.

File Output

I’ve revamped the output directory implementation to make it easier to find related shader files.    When a shader is compiled in Shazzam there are four files created.  For example, let’s say you are working with the Bands.fx file.  The fx file contains your HLSL code. When you compile the HLSL you get these four additional files.

  • temp.ps
  • BandsEffect.ps
  • BandsEffect.cs
  • BandsEffect.vb

The temp.ps file is used by Shazzam when it dynamically generates the test UI.

The BandsEffect.ps file is a copy of the temp.ps file.  This is the file that should be added to your .NET project.  Both these ps files contain the binary output from the compiler.

image

The *.vb and *.cs files contain the auto generated .NET classes.

image

Version 1.3 locations

To find these files, use the Tools/Explore Compiled Shaders menu.

image

In version 1.3 the files were scatter across three different folder.  That made it confusing to find your all the related files, so a change was made for version 1.4.

Version 1.4 Locations

In version 1.4 a directory is created for each compiled shader.  In our example a BandsEffect directory is created. 

image

Within the BandsEffect directory, you’ll find the three generated files.

image

Another change you may notice is that the ps file name now matches the other two filenames in the directory.  Version 1.3 used different names which was a was another unintended inconsistency.

Changes to generated .NET effect class

The final change is noticeable in the generated C#/VB classes.  The UriSource property now reflects the new ps file name.

image


 

Shader Book Coming soon

HLSL and Pixel Shaders for the XAML Developer. O’Reilly Media Inc..

2 Responses to “Output directory and file changes for Shazzam v1.4”

  1. Habibzadeh Saeid says:

    Nice to hear, new version will coming soon.
    does it cut 64. instruction barrier for silverlight?

  2. waltritscher says:

    If I understand your question it does not. The limitation for the instruction count is due to the Pixel Shader 2.0 specification. Unless Microsoft updates Silverlight shaders to PS 3 or higher then there is no solution.