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:

Kim, Hyoun Woo said...

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

Wolfgang Engel said...

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

Robin Green said...

Who is this "us" you speak of, paleface?

blackpawn said...

cool! but who has vista?? :P go go dx9!

Unknown said...

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

KimPallister said...

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.

Wolfgang Engel said...

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