Thursday, May 15, 2008

DX 10 Graphics demo skeleton

I setup a google code website with one of my small little side projects that I worked on more than a year ago. To compete in graphics demo competitions you need a very small exe. I wanted to figure out how to do this with DX10 and this is the result :-) ... follow the link

http://code.google.com/p/graphicsdemoskeleton/

What is it: it is just a minimum skeleton to start creating your own small-size apps with DX10. At some point I had a particle system running in 1.5kb this way (that was with DX9). If you think about the concept of small exes there is one interesting thing I figured out. When I use DX9 and I compile HLSL shader code to a header file and include it to use it, it is smaller than the equivalent C code. So what I was thinking was: hey let's write a math library in HLSL and use the CPU only with the stub code to launch everything and let it run on the GPU :-)

7 comments:

  1. Good, BTW why Pelles C was used for that? Any particular reason?

    ReplyDelete
  2. Yes, because it does not waste so much space as Visual Studio.

    ReplyDelete
  3. Who is this "us" you speak of, paleface?

    ReplyDelete
  4. cool! but who has vista?? :P go go dx9!

    ReplyDelete
  5. If you use Visual Studio you can use a more powerful exe packer like:
    http://www.crinkler.net/

    ReplyDelete
  6. Not having looked at your skeleton yet....

    Back in DX6/DX7 timeframe, Dean Macri and I did a little framework for our test apps that grew in size over time as we added more functionality. We eventually turned it into an MSVC appwizard that let us build samples that had only the functionality we needed, and let us do so quickly.

    The appwizard sounds like overkill, right?

    THing is, if you generate a lot of little test cases, and if you want to share them in a clean way, it doesn't take long before it's paid itself off.

    My understanding is that MSVC removed appwizards for an equivalent fnctionality via stylesheets or such, but you get the idea.

    ReplyDelete
  7. Hi Thomas,
    I will take a look into Crinkler. Thanks for the tip.

    Hi Kim,
    I think I played around with that wizard. You guys made it available somewhere. Great idea :-)

    - Wolf

    ReplyDelete