雾效果其实很容易实现,我先总结一下:
(1)首先肯定是将背景色设为我们雾的颜色
(2)打开雾效果
(3)设置雾的背景色
(4)设置雾方程式
雾方程式有三种表现形式 EXP(最老),EXP2(EXP加强版),LINEAR(雾的最好方程式,当然用这个),如果要用LINEAR这种,则要多雾start,end的设置,表示雾从多远开始,从多远停止 。像LINEAR这种称之为线性雾(不是我发明的,OPENGL超级宝典上这样说,设置稠密度无效)。
(5)最后,设置雾质量优先还是效率优先。
ok,上源码
(1)Activity
package sim.feel;
import android.app.Activity;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.opengl.GLSurfaceView;
import android.opengl.GLSurfaceView.Renderer;
import android.os.Bundle;
public class Fog extends Activity {
/** Called when the activity is first created. */
private GLSurfaceView surfaceView;
private Renderer renderer;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 载入图片
BitGL.init(this.getResources());
surfaceView = new GLSurfaceView(this);
renderer = new MyRenderer(this);
surfaceView.setRenderer(renderer);
setContentView(surfaceView);
}
}
class BitGL {
public static Bitmap bitmap;
public static void init(Resources resources) {
bitmap = BitmapFactory.decodeResource(resources, R.drawable.img);
}
}
(2