1

I create a Cubeview which extends GLSurfaceview and i want to make transparent background of it but can't do that.

I already use setZOrderOnTop() in MainActivity & glClearColor() in GLSurfaceview view class and also follow many link but didn't do work.

public class RubikActivity extends Activity {
cubeView cv;
GLSurfaceView gv;
@Override
public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity);
    cv = (cubeView) findViewById(R.id.cubeView);
    cv.initialize(PreferenceManager.getDefaultSharedPreferences(this));
    cv.requestFocus();
    cv.setFocusableInTouchMode(true);
    cv.setEGLConfigChooser(8, 8, 8, 8, 8,0); 
  //  cv.setRenderer( new CubeRenderer(getApplicationContext(), font, mWorld, rCube, mMenu, prefs);
    cv.getHolder().setFormat(PixelFormat.TRANSLUCENT);
    cv.setZOrderOnTop(true);

}

CubeView.java

public cubeView(Context context, AttributeSet attrs) {
    super(context, attrs);
    font = new TextureFont(getContext(), R.drawable.roboto_regular, "roboto_regular_dims.txt");
    mWorld = new GLWorld();

 }

 public void initialize(SharedPreferences prefs) {

     rCube = new Rubec(mWorld, prefs.getInt("dim", 3));
     mMenu = new CubeMenu(rCube, font);
     _renderer = new CubeRenderer(getContext(), font, mWorld, rCube, mMenu, prefs);
     rCube.setRenderer(_renderer);
     mWorld.setRubeCube(rCube);
     setRenderer(_renderer);

     getHolder().setFormat(PixelFormat.TRANSLUCENT);
     setZOrderOnTop(true);
 }

CubeRenderer.java

public void onDrawFrame(GL10 g) {
    GL11 gl = (GL11)g;

    surfaceSetup(gl);

    gl.glClearColor(0,0,0,1);
    gl.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT);
}

I want to transparent Cubeview

Community
  • 1
  • 1
Garg
  • 2,731
  • 2
  • 36
  • 47
  • 1
    random try - `surfaceView.setEGLContextClientVersion( 2 ); surfaceView.setZOrderOnTop( true ); surfaceView.setEGLConfigChooser( 8, 8, 8, 8, 16, 0 ); surfaceView.getHolder().setFormat( PixelFormat.RGBA_8888 );` – kiranpradeep May 15 '15 at 06:16
  • @Kiran i have try but not work for me ...................n thanks for help me – Garg May 19 '15 at 11:52

1 Answers1

0

You're clearing the screen to opaque black. Change gl.glClearColor(0,0,0,1)to gl.glClearColor(0,0,0,0) if you want transparent black.

fadden
  • 51,356
  • 5
  • 116
  • 166
  • i have already tried it but no work, it show background dark black, i want full transparent rather than it. – Garg May 14 '15 at 05:04
  • i am also follow this - http://stackoverflow.com/questions/16762633/android-glsurfaceview-transparent-background-without-setzorderontop?rq=1 , but same same problem – Garg May 14 '15 at 05:11