Tengo un problema donde el objeto de procesador no parece obtener su llamado en absoluto. El depurador nunca llega a un punto de interrupción dentro de la función. Por lo tanto, mi cuadrado no está dibujando. Aquí está el código, que me haga saber si necesita cualquier otra cosa:onDrawFrame no se llama en Android
public class renderer implements GLSurfaceView.Renderer {
Square square;
public void onDrawFrame(GL10 unused) {
GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
square.Draw();
}
public void onSurfaceChanged(GL10 gl, int width, int height) {
GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
}
public void onSurfaceCreated(GL10 unused, int width, int height) {
GLES20.glViewport(0, 0, width, height);
}
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
square = new Square(5, 5);
}
La actividad principal es:
public class gameActivity extends Activity {
/** Called when the activity is first created. */
private GLSurfaceView mGLView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
staticHolder.context = getApplicationContext();
mGLView = new GLSurface(this);
setContentView(mGLView);
}
@Override
protected void onPause() {
super.onPause();
// The following call pauses the rendering thread.
// If your OpenGL application is memory intensive,
// you should consider de-allocating objects that
// consume significant memory here.
mGLView.onPause();
}
@Override
protected void onResume() {
mGLView.onResume();
}
class GLSurface extends GLSurfaceView
{
renderer r = new renderer();
public GLSurface(Context context)
{
super(context);
setEGLContextClientVersion(2);
setRenderer(r);
setRenderMode(GLSurfaceView.RENDERMODE_CONTINUOUSLY);
}
}
}
Actualmente la pantalla es sólo negro. ¿Hay alguna idea de por qué el OpenGL no se está procesando correctamente?
¿Funcionan los otros puntos críticos en su programa? Si agrega 'glClearColor (1,0,1,1)' a la primera línea de onDrawFrame, ¿sigue siendo negro? ¿Alguna de las otras devoluciones de llamada del procesador? – Tim
GLES20.glClearColor (1, 0, 1, 1) ;, no hace nada –
¿Se llaman las otras devoluciones de llamada del procesador? onSurfaceCreated o onSurfaceChanged? – Tim