I already have the noise thing down, although it's not a shader. It looks every bit as good as what a shader would do plus it's faster and a very small mem footprint given it's a dds texture. Here's the code (as used in the game, there's a shortened version somewhere on this forum I posted recently). The code involving the local vars is not being used because I can't get it to work right. It's supposed to reposition the noise entity when the camera's arc is adjusted, so the grain appears consistent, but I've never gotten it to do what it's supposed to to right (compliments to HeelX for this code). It certainly adjusts it, but the entity is never the appropriate distance from the camera, so depending on the arc, the entity is too close or too far (thus you can see the edges of the sprite) from the camera.

Code:
function filmgrainRefresh ()
{
var camPercentage;
var arcMax = 80;
var arcMin = 40;
var maxX = 600;
var minX = 450;

while (grainToggle == 1)
{
if(blackpanel_pan.visible == off)
{
filmGrain.visible = on;
filmGrain.u += random(512) * time_step;
filmGrain.v += random(512) * time_step;
filmGrain.alpha = 12 + random(5) * time_step;
//camPercentage = (camera.arc / (arcMax - arcMin));
//filmGrain.x = maxX - (camPercentage * (maxX - minX));
wait(-0.09);
}
else
{
filmGrain.visible = off;
wait(1);
}

}
}



If for some reason I end up sticking will all 3D levels, I'll consider a 2.0 softshadow/per pixel light shader at some point. It'd definitely be an A7 project if I did that given the blocks are treated differently, so I don't have to construct everything from actual models (from what I understand)(I like/love WED).


My User Contributions master list - my initial post links are down but scroll down page to find list to active links