August 28th, 2011, 06:04 AM
|
#1 (permalink)
|
|
New Member
Thread Author (OP)
Join Date: Aug 2011
Posts: 2
Device(s):
Carrier: Not Provided
Thanks: 0
Thanked 0 Times in 0 Posts
|
OpenGL GLU.gluLookAt() makes blank screen??
Why isn't my camera moving at all???
I want my camera to move along the x-axis, but it doesn't move along any axis. Not even when I set cameraX,Y,Z to different values manually!
Please help me.. all code below!
Code:
public boolean OnTouchEvent(final MotionEvent event) {
cameraX += 0.2f;
cameraY += 0.2f;
cameraZ += 0.2f;
return true;
}
Code:
@Override
public void onSurfaceChanged(GL10 gl, int width, int height) {
if (height == 0) height = 1; // To prevent divide by zero
float aspect = (float)width / height;
// Set the view port (display area) to cover the entire window
gl.glViewport(0, 0, width, height);
// Setup perspective projection, with aspect ratio matches view port
gl.glMatrixMode(GL10.GL_PROJECTION); // Select projection matrix
gl.glLoadIdentity(); // Reset projection matrix
// Use perspective projection
GLU.gluPerspective(gl, 45.0f, aspect, 0.1f, 100.0f);
gl.glMatrixMode(GL10.GL_MODELVIEW); // Select model-view matrix
gl.glLoadIdentity();
// Reset
// Your OpenGL|ES display re-sizing code here
// ......
}
Code:
@Override
public void onDrawFrame(GL10 gl) {
// Clear color and depth buffers using clear-value set earlier
gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
//gl.glLoadIdentity(); // Reset model-view matrix
//gl.glTranslatef(0.0f, 0.0f, -6.0f); // Translate into the screen
//quad.draw(gl);
GLU.gluLookAt(gl, cameraX, cameraY, cameraZ, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f);
for(int i = 0; i < quadAmount; i++) {
gl.glLoadIdentity();
gl.glTranslatef(quadx[i], 0.0f, quadz[i]);
quad.draw(gl);
if(quadz[i] > 2.0f) {
quadz[i] = (float) (-20 - rand.nextInt(10));
if(rand.nextBoolean())
quadx[i] = (float) (Math.random() * 15);
else
quadx[i] = (float) (Math.random() * -15);
}
quadz[i] += 0.2f;
}
cameraX += 1.0f;
// Your OpenGL|ES rendering code here
// ......
}
EDIT: Now I've tried setting gluLookAt() in the bottom of the draw class, which is after gl.LoadIdentity() has been called, but no changes.
|
|
|
Last edited by AndroidJobo; August 28th, 2011 at 06:26 AM.
|
|