Feed on
Posts
Comments

Developers love to create utility tools.  When you find that you want to simplify you programming life you look for a tool to solve the problem. If you can’t find one, you start dreaming how to build one yourself.

Whenever a new standard like SQL or XML is adopted the utility writers are immediately on the job creating useful tools.  Before too long the community find the tools that work and starts spreading the news.

Announcing Shazzam

Today I’m happy to announce another WPF utility called Shazzam.

[Watch the video]

http://silverlight.services.live.com/invoke/804/ShazzamDemo/iframe.html

Install from here

What does it do?

The goal of Shazzam is to make it simple to edit and test WPF Pixel Shader Effects.

Shader effects were added in .NET 3.5 SP and they are getting some good comments in the blog world.  The steps for creating a shader are somewhat confusing, thus was born the idea to create a simple testing and viewing utility.

A user opens Shazzam, pastes a sample HLSL snippet into the editor and can instantly test the shader effect on a series of sample images.    No fuss, no muss.  No configuration of input parameters for each snippet.  Shazzam figures out how many registers are defined in the code snippet and creates a testing harness.

Here are some of the highlights of the current build.

  • Contains a HLSL editor.
  • Open existing HLSL file.  Save changes to file system if desired.
  • Auto generates derived ShaderEffect class samples(VB and C#) for any valid HLSL snippet.
  • Auto generates input controls to manipulate the shader registers.
  • Contains sample images for instant viewing of shader effect.
  • Supports importing custom user image.
  • Rich color editing of C, C# and VB source.

I’ve created a CodePlex project so you will be able to see the source for Shazzam.  The CodePlex project will be live soon. Naturally I have a few bugs to fix and some more features to add to Shazzam.

The link to the installer will be posted soon.

Screenshots

Main Screen

image

Image screen

image

HLSL Code Editor

image

Generated C# and Visual Basic  code

image

Auto Generated Testing controls

image

Setting Panel

image

24 Responses to “Shazzam – WPF Pixel Shader Effect Testing Tool now available”

  1. ppodila says:

    Great Job Walt…can’t wait to get my hands on that ..!

  2. TailChaser says:

    Fantastic tool, I could use this right now. Please make this available as soon as possible!

  3. Awesome job. You know I have been waiting for this for a while, so I cant wait to give it a good workout.

    Thanks Walt for sharing your tool and of course your time that you put into creating it.

    Cheers

  4. PoluxX says:

    Hi Walt,

    seems to be a very useful tool to learn shaders and make terrible effects on our apps :)

    THANKS

    Just one question : you titled ‘available’ in the title, where is it possible to download it please ?

  5. [...] 16, 2008 by Walt Ritscher A couple days ago I posted about Shazzam, the new WPF Pixel Shader Effect Testing Tool. The goal of Shazzam is to make it simple to edit and [...]

  6. Walt Ritscher says:

    Shazzam is now available at
    http://shazzam-tool.com/publish.htm

  7. traveler says:

    From http://tinyurl.com/5kkamx
    I just got a chance to test this tool out. Took me 30 seconds to notice how f-ing awesome it is! I was looking for a VS shader template to save some time, but this blows it out of the water!

    Great job! Thank you!

    -Jer

  8. boomhauer says:

    hmm seems to be missing toolbars etc for me, maybe my card doesnt support shaders? weird.

  9. Walt Ritscher says:

    @boomhauer

    You have to have the DirectX SDK installed and you have to tell Shazzam where the fxc.exe compiler is installed. Chooss the settings plugin and modify the path.

    The default path is
    C:\Program Files\Microsoft DirectX SDK (August 2008)\Utilities\bin\x86

    If Shazzam can’t find the fxc.exe file it disables all the UI except for the settings plugin.

  10. boomhauer says:

    doh. yeah i saw “have directx installed” and didnt read the sdk part ;) Thnx

  11. pcdol says:

    Thanks you~ Great job!

  12. Hi Walt,
    Thanks alot for this awesome tool. I’ve test it. It is realy cool. WPF Pixel Shader enable us to create better UX and now with comming new version of Silverlight (3.0) we can use it in Silverlight, too. One thing that I am a little confused is the deployment proccess of a project which has used Pixel Shader. It is clear that every client should have DirectX on his machine to be able to run the application. My question is: are we supposed to compile the .fx file on each client machine to create a .ps file and then use it for PixelShader class? Better say, we can not once compile the .fx file and use the generated .ps file as a resource and use it for each client machine? Are these .ps files machine dependant?

    Thanks again.

  13. Walt Ritscher says:

    @Ali Daneshmandi

    When you compile your .NET application you have to choose which version of DirectX to target. The default for FXC.EXE is DirectX 10

    When you install you app you have to include the ps file. as that is loaded by the Shader class. You do not have to include the fx file.

  14. Dear Walt,

    Thank you very much for your quick reply.
    As I got you mean that the .ps files are DirectX version dependant not machine (VGA) depandant. Am I right?

  15. Walt Ritscher says:

    @Ali Daneshmandi Yes, that is correct

  16. Hi again,

    I want to create a Line Art effect but as I got vertex shader is not supported by WPF now. Is there a way to create Line Art effect by Pixel Shader? Any idea?

    Thanks.

  17. ksleung says:

    Walt,

    First of all thanks for the great tool. I am using it to try out various pixel shading effects on Silverlight 3.0. Your tool is truly indispensible.

    I have three comments: first, it would be nice if Shazzam can support types “bool” and “int”. It seems that the pixel shader file is compiled but Shazzam would not generate the WPF shader. Can this be enhanced?

    Second, it seems that if I leave Shazzam running for a while, it hogs up the CPU even though there is nothing really going on. Sounds like a bug?

    Third, it would be nice if there is a “refresh” button (or auto refresh) whenever the .fx file is changed externally. Right now the workaround is to click another .fx file, compile, and then click the original one and compile.

    Thanks again for the great work.

  18. [...] is a tool, called Shazzam, which can help you to compile FX files. Here is the list of its [...]

  19. [...] alors découvert un outil fort sympathique, Shazzam,  qui [...]

  20. noumonvi says:

    je veux une supprexion du logiciel avira que j’ai installé

  21. [...] Shazzam Pixel Shader (requires silverlight 2.x) From the website: “The goal of Shazzam is to make it simple to edit and test WPF Pixel Shader Effects.” [...]

  22. Dear Walt,

    Is there a solution to print an image which has a Pixel Shader effect? I mean the effected image to be printed. It might be a wrong question because the effect does not manupulate the image source but the GPU just render the image that way.

    Thanks in advance

  23. [...] help creating your own shaders.   Try the Open Source Shazzam [...]

  24. isitdanny says:

    Walt, I am doing Silverlight Proof of Concept contract work for a large Bank in America’s new Personnel Portal and my work will help the adoption of the new rias by the bean counters. I needed some transition animations that ‘pop’ and your tool came to my rescue. Thanks for making me a hero on this project. Their UI developers had never seen anything like the effects. I showed them your tool so I didn’t take all of the credit. Again, thanks for making it easy.