简体   繁体   English

如何添加旋转到我的2D对象

[英]how to add rotate to my 2D object

I draw a simple triangle and I want to learn how to rotate it and move in up and down and left and right . 我画了一个简单的三角形,我想学习如何旋转它以及如何上下左右移动。 I add gl.glRotatef(0.0f, 1.0f, 0.0f, 0.0f) but it does not rotate. 我添加了gl.glRotatef(0.0f,1.0f,0.0f,0.0f)但它不会旋转。

this is my code : 这是我的代码:

public class GLrenderer implements Renderer { public GLqueue tri; 公共类GLrenderer实现了Renderer {public GLqueue tri;

public GLrenderer() {
    tri = new GLqueue();

}

@Override
public void onSurfaceCreated(GL10 gl, EGLConfig eglConfig) {
    // TODO Auto-generated method stub
    gl.glDisable(GL10.GL_DITHER);
    gl.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT, GL10.GL_FASTEST);
    gl.glClearColor(.8f, .0f, .2f, 1);
    gl.glClearDepthf(1f);
}

@Override
public void onDrawFrame(GL10 gl) {
    // TODO Auto-generated method stub
    gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_COLOR_BUFFER_BIT);
    gl.glMatrixMode(GL10.GL_MODELVIEW);
    gl.glLoadIdentity();
    GLU.gluLookAt(gl, 0, 0, 10f , 0 , 0 , 0 , 0 ,2, 0);
    tri.draw(gl);
}

@Override
public void onSurfaceChanged(GL10 gl, int width, int height) {
    // TODO Auto-generated method stub
    gl.glViewport(0, 0, width, height);
    float ratio = (float) width/height;
    gl.glMatrixMode(GL10.GL_PROJECTION);
    gl.glLoadIdentity();
    gl.glFrustumf(-ratio, ratio , -1, 1, 1, 25);

}

} }

旋转和运动的描述如下: http : //developer.android.com/resources/tutorials/opengl/opengl-es20.html希望对您有所帮助!

gl.glPushMatrix();
gl.Translatef(x,y,0)
gl.Rotatef(45,0,0,1)//rotate the object 45 degress in z axis
DrawObjuect();
gl.glPopMatrix();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM