SensorRenderer.java


Dosyayı İndir
package com.godoro.androidopengl;

import android.opengl.*;

import javax.microedition.khronos.opengles.*;

public class SensorRenderer implements GLSurfaceView.Renderer {

    private SensorCube gryroscopeCube = new SensorCube();

    private float currentX=.0f;
    private float currentY=.0f;
    private float currentZ=.0f;

    @Override
    public void onSurfaceCreated(GL10 gl, javax.microedition.khronos.egl.EGLConfig config) {
        gl.glClearColor(0.0f, 0.0f, 0.0f, 0.5f);

        gl.glClearDepthf(1.0f);
        gl.glEnable(GL10.GL_DEPTH_TEST);
        gl.glDepthFunc(GL10.GL_LEQUAL);

        gl.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT,
                GL10.GL_NICEST);

    }

    @Override
    public void onDrawFrame(GL10 gl) {
        gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
        gl.glLoadIdentity();

        gl.glTranslatef(0.0f+currentX, 0.0f+currentZ, -30.0f+currentZ);

        gryroscopeCube.draw(gl);


        gl.glLoadIdentity();

    }
    public void setPosition(float x,float y,float z){
        if(Math.abs(x)>Math.abs(y) && Math.abs(x)>Math.abs(z)){
            currentX+= x>0?.1:-.1;
        }else if(Math.abs(y)>Math.abs(z) ){
            //currentX+= y>0?1:-1;
        }else{
            //currentZ+= z>0?1:-1;
        }
    }
    @Override
    public void onSurfaceChanged(GL10 gl, int width, int height) {
        gl.glViewport(0, 0, width, height);
        gl.glMatrixMode(GL10.GL_PROJECTION);
        gl.glLoadIdentity();
        GLU.gluPerspective(gl, 45.0f, (float)width / (float)height, 0.1f, 100.0f);
        gl.glViewport(0, 0, width, height);

        gl.glMatrixMode(GL10.GL_MODELVIEW);
        gl.glLoadIdentity();
    }
}


				
Dosyayı İndir

Bu Sayfayı Paylaş:




Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir