MegaDiablo

Четверг, 04.03.2021, 11:32
Приветствую Вас Гость

Регистрация
Вход

Каталог статей


Главная » Статьи » Программирование » Android

OpenGl Класс отрисовки треугольника
public class Renderer implements android.opengl.GLSurfaceView.Renderer {

 FloatBuffer triangleBuffer;

 float[] triangle = { 0, 0, 0, // A
 1, 0, 0, // B
 0, 1, 0 // C
 };

 public Renderer() {
 ByteBuffer bb = ByteBuffer.allocateDirect(36);
 bb.order(ByteOrder.nativeOrder());
 triangleBuffer = bb.asFloatBuffer();
 triangleBuffer.put(triangle);
 triangleBuffer.position(0);
 }

 @Override
 public void onDrawFrame(GL10 gl) {
 gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
 
 gl.glMatrixMode(GL10.GL_MODELVIEW);
 gl.glLoadIdentity();
 gl.glTranslatef(0, 0, -3.0f);
 
 gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
 
 gl.glVertexPointer(3, GL10.GL_FLOAT, 0, triangleBuffer);
 gl.glDrawArrays(GL10.GL_TRIANGLES, 0, 3);
 }

 @Override
 public void onSurfaceChanged(GL10 gl, int width, int height) {
 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, 10);
 }

 @Override
 public void onSurfaceCreated(GL10 gl, EGLConfig config) {
 // TODO Auto-generated method stub
 }

}
Категория: Android | Добавил: MegaDiablo (04.12.2010)
Просмотров: 1851 | Комментарии: 1 | Рейтинг: 3.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Меню сайта
Категории раздела
Android [4]
Web [2]
Java [1]
JavaScript [1]
Форма входа
Поиск
Наш опрос
Оцените мой сайт
Всего ответов: 23
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0