Форум программистов, компьютерный форум CyberForum.ru

Знакомство с OPEN GLES - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android NullPointerException http://www.cyberforum.ru/android-dev/thread1113415.html
В методе присутствует вот такая конструкция new Thread(new Runnable() { @Override public void run() { try { requestToken = twitter .getOAuthRequestToken(TWITTER_CALLBACK_URL); Log.d("MyTag", requestToken.getAuthenticationURL()); // Работает нормально и дает нужный URL } catch (TwitterException e) {
Android Как создать Bitmap черно-белый Вот так создаю Bitmap bitmap=Bitmap.createBitmap(720, 1280, Bitmap.Config.RGB_565); То есть 2 байта на точку. А мне надо 2 бита на точку - черна или белая ? Добавлено через 6 минут вернее 1 бит на точку http://www.cyberforum.ru/android-dev/thread1113350.html
Приложение на HTML (Расписание) Android
Здравствуйте,я новичок в андроид но в принципе разбираюсь в html,подскажите пожалуйста,как сделать просто приложение что будет открывать html страницу которая будет в ассетах apk? Собираюсь сделать простое расписание для своего вуза. P.S И как это будет смотреться на разных экран?Видимо надо оптимизировать будет?Или текст нормально пойдет для таких целей? Мысль пришла после того как увидел...
Android Восклицательный знак в main.xml
Решил по пробовать написать первое приложение под Android. перенес на форму Button и textView переименовал их и возле них горит восклицательный. Подскажите с чем это связанно?
Android Использование canvas http://www.cyberforum.ru/android-dev/thread1113133.html
Интересует насколько глупо использовать слудующий метод рисование и как тогда быть. Есть игра где все происходит в координатной системе. И эти координаты привязаны к картинке с заданным разрешением 1280 на 720. Если екран имеет меньшее разрешение картинку придётся уменьшать и координаты уже не совпадут. Выход сделал следующий. Все действия и прорисовку делаю в картинку с разрешением 1280 на...
Android PHP и SDK Android Доброго времени суток. Подскажите насчет Android. Сделал приложение, но теперь необходимо сделать так, чтобы при вводе данных и нажатии кнопки работало с Mysql. На сайте PHP, а как связать андроид и php? подробнее

Показать сообщение отдельно
ASDFD12
33 / 33 / 5
Регистрация: 15.09.2012
Сообщений: 420

Знакомство с OPEN GLES - Android

07.03.2014, 15:12. Просмотров 770. Ответов 3
Метки (Все метки)

первая попытка нарисовать треугольник
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
package com.example.opengl;
 
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.FloatBuffer;
import java.util.Random;
 
import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;
 
import android.opengl.GLES10;
import android.opengl.GLES20;
import android.opengl.GLSurfaceView;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.Window;
import android.view.WindowManager;
 
public class MainActivity extends Activity {
    GLSurfaceView glSurfaceView;
    myRender renderer;
    ByteBuffer bytebuffer;
    FloatBuffer floatbuffer;
    float[] vertices;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE); // Убираем заголовок
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
        WindowManager.LayoutParams.FLAG_FULLSCREEN);  // Устанавливаем полноэкранный режим
 
        bytebuffer = ByteBuffer.allocateDirect(3*3*4);
        bytebuffer.order(ByteOrder.nativeOrder());
        floatbuffer= bytebuffer.asFloatBuffer();
        vertices = new float[] {0,0,500,0,250,1000};
        floatbuffer.put(vertices);
        floatbuffer.flip();
        
        
        GLES10.glColor4f(1.0f, 0.0f, 0.0f, 1.0f);
        GLES10.glMatrixMode(GL10.GL_PROJECTION);
        GLES10.glLoadIdentity();
        GLES10.glOrthof(0, 720, 0, 1280, 1, -1);
        
        GLES10.glEnableClientState(GL10.GL_VERTEX_ARRAY);
        GLES10.glVertexPointer(2, GL10.GL_FLOAT, 0, floatbuffer);
        
        
        try{    // пытаемся инициализировать OpenGL
            glSurfaceView = new GLSurfaceView(this);
 
            // Далее устанавливаем версию OpenGL ES, равную 2
            glSurfaceView.setEGLContextClientVersion(2);
 
            renderer = new myRender();
        
            glSurfaceView.setRenderer(renderer); // устанавливаем нашу реализацию GLSurfaceView.Renderer для обработки событий
 
            glSurfaceView.setRenderMode(GLSurfaceView.RENDERMODE_CONTINUOUSLY); // режим смены кадров
            // RENDERMODE_CONTINUOUSLY - автоматическая смена кадров,
            // RENDERMODE_WHEN_DIRTY - по требованию ( glSurfaceView.requestRender(); )
 
            setContentView(glSurfaceView);
 
        }catch(RuntimeException e){} 
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
 
    
    public class myRender implements GLSurfaceView.Renderer {
        
        public void onDrawFrame(GL10 glUnused) { // Отрисовка кадра
 
                
            GLES20.glClear(GL10.GL_COLOR_BUFFER_BIT);
            GLES10.glDrawArrays(GL10.GL_TRIANGLES, 0, 3);
            
        }
 
            public void onSurfaceChanged(GL10 glUnused, int width, int height) { // изменение поверхности, например изменение размера
            
                GLES20.glViewport(0, 0, width, height);
            
            // Устанавливаем положение и размер вьюпорта
                
            }
 
            @Override
            public void onSurfaceCreated(GL10 gl, EGLConfig config) {
            
                }
    }
    
     @Override
        protected void onResume()
        {
            super.onResume();
            glSurfaceView.onResume();
        }
        
        @Override
        protected void onPause()
        {
            super.onPause();
            glSurfaceView.onPause();
        }
    
    
}
Что не так?
Где должен находится блок кода
Java
1
2
3
4
5
6
7
GLES10.glColor4f(1.0f, 0.0f, 0.0f, 1.0f);
        GLES10.glMatrixMode(GL10.GL_PROJECTION);
        GLES10.glLoadIdentity();
        GLES10.glOrthof(0, 720, 0, 1280, 1, -1);
        
        GLES10.glEnableClientState(GL10.GL_VERTEX_ARRAY);
        GLES10.glVertexPointer(2, GL10.GL_FLOAT, 0, floatbuffer);
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru