31 марта 2012 г.

OpenGL ES в Android, класс GLSurfaceView

Базовым классом для вывода трехмерной графики в Android c использованием OpenGL ES является класс GLSurfaceView. Он содержит в себе встроенный интерфейс GLSurfaceView.Renderer, который управляет отображением трехмерных объектов. Можно представить себе GLSurfaceView как холст для рисования, а GLSurfaceView.Renderer как умение рисовать на холсте. Любой класс, который умеет рисовать на холсте, становится трехмерным художником. Таким образом, чтобы создать такого "художника" мы должны определить собственный класс, реализующий интерфейс GLSurfaceView.Renderer.
Например так:
public class MyClassRenderer implements GLSurfaceView.Renderer{
           //тело класса
}
Реализовав интерфейс GLSurfaceView.Renderer мы обязаны в классе MyClassRenderer переопределить абстрактные методы этого интерфейса. Таких методов три: onDrawFrame, onSurfaceCreated и onSurfaceChanged. В методе onDrawFrame производится рисование трехмерных объектов, метод onSurfaceCreated вызывается при создании экрана, метод onSurfaceChanged - при изменении экрана.