I am currently developing a little (okay maybe not THAT little) shaderpack in Lite-C (+HLSL and some fixed function stuff).
The goal is to have a flexible, easy to implement, extendable collection of shades where you don´t have to implement all or none but can also choose the ones you want to use for your project.
To realise that, each shader becomes its own .c file containing the material with the shadercode, a fallback version if I consider it usefull (otherwise just no shader) and a function to add the effect to an entity through passing the pointer and the effectparameters. The only file you need for each effect is a helper script containing some functions to keep the other files cleaner. I created two helperfiles and two header files, one for Objectshaders and one for Postprocessingshaders (they are all without a special fallback) where you can keep track on the included shaders. In some cases there is also a Tool file including a function for for example creating a shadowmap for the terrain (not yet done). Some of the postprocessingeffects also need you to call a special function after changing the screenresolution to make everything fit again.

The Objectshaders I´ve got so far are:
- Per pixel lighting (PS 2.0) for the Sun
- Normal mapping (PS 2.0) for the Sun
- Multitexture terrain (PS 2.0) with per pixel lighting for the Sun using a blendmap, a shadowmap and up to 4 Textures and with ffp fallback to texture with Detailmap and Shadowmap
- Watershader with reflection and refraction (PS 2.0) and ffp fallback with transparency and reflection and also including a tool file to generate a blendmap for the seethrough values (not for the fallback version)
- A simple waterfall (ffp)

The Postprocessingeffects are (all PS 2.0):
- Bloom
- DoF
- Stencilshadow blur
- Heat haze (still wip)
- Anaglyph stereo effect (still needs the possibility to be used together with the other postprocessingeffects)
- Raindrops
- Blood (similar to the raindropseffect)
- Old movie

Things I still want to do:
- Finish the wip effects
- Add more lights to the shaders
- Support for a lightmap with second UV-set
- Create different versions of the shaders for different ligtsituations (indoor/outdoor)
- Relief mapping
- Parallax mapping
- Environment mapping
- Cartoon shader (both, postprocessing and objectshader)
- Radial blur
- Blur
- Colorfilter (you´ll have to pass a colortransformationmatrix to the shader)
- An editor to apply those shaders in realtime to the objects, to add postprocessing to the scene and to adjust the values
- Documentation

I am still not sure what to do with this pack when it is done, but I would like you to propose some more things I could implement.

Thanks for your attention :P
Slin

Some early screenshots:






Last edited by Slin; 04/08/08 14:44.