波动+灰度图+噪点的简单实现

纹理波动的一种简单方案:

Tex.x += sin(fTimer+Tex.x*10)*0.01f;
Tex.y += cos(fTimer+Tex.y*10)*0.01f;

图片反相的简单实现:用1.0f或255减去当前每种颜色的值

灰度图的简单实现:

1、平均颜色-不推荐;2、灰度强度-人眼对绿色比红色和蓝色更加敏感,g=0.3R+0.59G+0.11B,推荐数值为(0.222,0.707,0.071)

噪点-扭曲的简单实现:

float NoiseX = iSeed * fTimer * sin(Tex.x * Tex.y+fTimer);    //iSeed为随机种子
NoiseX=fmod(NoiseX,8) * fmod(NoiseX,4);    //fmod为取余函数
float DistortX = fmod(NoiseX,fNoiseAmount);     //fNoiseAmount最好在0.001~0.5
float DistortY = fmod(NoiseX,fNoiseAmount+0.002);    //DistortX与DistortY为纹理坐标的变换量

posted on 2012-05-06 22:12  紫澜  阅读(435)  评论(0编辑  收藏  举报