Как остановить рендерер Open GL

По какой-то причине мне нужно перезапустить GLSurfaceView.Renderer, поэтому я хочу некоторое время в моем приложении, чтобы вызвать setRenderer (newRenderer) во второй раз, что не нравится Android, и выдает исключение IllegalStateException со словами " setRenderer уже был вызван "...

Теперь я знаю, что это связано с тем, что средство визуализации прикреплено к GLSurfaceView, и мне нужно отвязать это средство визуализации от представления поверхности, чтобы я мог снова вызвать setRenderer.

У кого-нибудь есть решение для этого?

P.S .: Код выглядит так:

render = new Renderer(this);

setContentView(R.layout.main);
graphicView = (GLSurfaceView) this.findViewById(R.id.graphicView);

//DO STUFF

graphicView.setRenderer(render);

//DO STUFF

Renderer newRender = new Renderer();
graphicView.setRenderer(newRender); <= ...and Android hates this line sooo much

Спасибо!

6
задан turbodoom 3 February 2012 в 15:58
поделиться