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.
- .NET has Reflector
- XML as XML Spy
- SQL Server has Query Analyzer and Query Express
- WPF has Mole and Pistachio.
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
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 screen
HLSL Code Editor
Generated C# and Visual Basic code
Auto Generated Testing controls
Setting Panel
Great Job Walt…can’t wait to get my hands on that ..!
Fantastic tool, I could use this right now. Please make this available as soon as possible!
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
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 ?
[…] 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 […]
Shazzam is now available at
http://shazzam-tool.com/publish.htm
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
hmm seems to be missing toolbars etc for me, maybe my card doesnt support shaders? weird.
@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.
doh. yeah i saw “have directx installed” and didnt read the sdk part 😉 Thnx
Thanks you~ Great job!
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.
@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.
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?
@Ali Daneshmandi Yes, that is correct
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.
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.
[…] is a tool, called Shazzam, which can help you to compile FX files. Here is the list of its […]
[…] alors découvert un outil fort sympathique, Shazzam, qui […]
je veux une supprexion du logiciel avira que j’ai installé