Форум программистов, компьютерный форум, киберфорум
Наши страницы

GLES 2 ошибка при отрисовке квадрата - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Ошибки при создании проекта в Eclipse http://www.cyberforum.ru/android-dev/thread1298178.html
Доброго времени суток. Решил попытаться освоить программирование на андроид. Поставил Eclipse, Android SDK. Загрузил компоненты для SDK. Создал проект по инструкции и сразу же выскочила куча ошибок:...
Программирование Android Авторизация по нажатию кнопки Привет всем! В Android Studio создаю приложение с Login Activity. Там есть кнопка для отправки введенных емейл и пароль. хочу реализовать действие по ее нажатию. И пришел к такой логике:... http://www.cyberforum.ru/android-dev/thread1297925.html
Программирование Android Не передаются данные между активити
Всем привет , возникла такая проблема при передачи данных от одной активити к другой, есть список (FragmentList) при нажатии на каждый из пунктов открывается активити с фрагментом, в котром на...
Программирование Android Как в Android Studio создавать установочные apk файлы для наших гуглофонов?
Как в Android Studio создавать установочные apk файлы для наших гуглофонов? В Eclipse это проект->Android Tools->Export Signed Application Package или Export Unsigned Application Package
Программирование Android Правильно составить запрос, содержащий "'" http://www.cyberforum.ru/android-dev/thread1297107.html
Или такая запись/чтение в БД невозможна? android.database.sqlite.SQLiteException: near "Этуаль": syntax error (code 1): , while compiling: SELECT _id FROM providers WHERE name='Л'Этуаль'
Программирование Android ActionBar, всегда показывать троеточие Не могу понять, в 4.1.1 есть троеточие, а в 4.3 нету. Как принудительно сделать чтоб оно всегда было? подробнее

Показать сообщение отдельно
contedevel
57 / 55 / 8
Регистрация: 07.10.2012
Сообщений: 598
12.11.2014, 23:01  [ТС]
Все ещә не могу справиться с ошибкой... Упростил уже код так
Кликните здесь для просмотра всего текста
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
package com.*.*.render;
 
import android.opengl.GLES20;
import android.opengl.GLSurfaceView;
import android.opengl.Matrix;
 
import com.*.*.utils.EasySettings;
 
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.FloatBuffer;
 
import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;
 
public class EasyRenderer implements GLSurfaceView.Renderer {
    public static final String TAG = EasyRenderer.class.getSimpleName();
    protected EasySettings settings;
    private FloatBuffer fb;
    private float[] viewMatrix = new float[16];
    private float[] projectionMatrix = new float[16];
    private float[] modelMatrix = new float[16];
    private float[] mvpMatrix = new float[16];
    private final int strideBytes = 7 * 4;
    private final int positionOffset = 0;
    private final int positionDataSize = 3;
    private final int colorOffset = 3;
    private final int colorDataSize = 4;
    private int mvpMatrixHandle;
    private int positionHandle;
    private int colorHandle;
 
    final float[] triangle = {
            // X, Y, Z,
            // R, G, B, A
            -0.5f, -0.25f, 0.0f,
            1.0f, 0.0f, 0.0f, 1.0f,
 
            0.5f, -0.25f, 0.0f,
            0.0f, 0.0f, 1.0f, 1.0f,
 
            0.0f, 0.559016994f, 0.0f,
            0.0f, 1.0f, 0.0f, 1.0f};
 
    public EasyRenderer(EasySettings settings) {
        if(settings == null)
            throw new NullPointerException("EasySettings cannot be null!");
        this.settings = settings;
 
        fb = ByteBuffer
                .allocate(triangle.length * 4)
                .order(ByteOrder.nativeOrder())
                .asFloatBuffer();
 
        fb.put(triangle).position(0);
 
    }
 
    @Override
    public void onSurfaceCreated(GL10 gl10, EGLConfig eglConfig) {
        GLES20.glClearColor(1.0f, 0.0f, 1.0f, 1.0f);
 
        // Position the eye behind the origin.
        final float eyeX = 0.0f;
        final float eyeY = 0.0f;
        final float eyeZ = 1.5f;
 
        // We are looking toward the distance
        final float lookX = 0.0f;
        final float lookY = 0.0f;
        final float lookZ = -5.0f;
 
        // Set our up vector. This is where our head would be pointing were we holding the camera.
        final float upX = 0.0f;
        final float upY = 1.0f;
        final float upZ = 0.0f;
 
        // Set the view matrix. This matrix can be said to represent the camera position.
        // NOTE: In OpenGL 1, a ModelView matrix is used, which is a combination of a model and
        // view matrix. In OpenGL 2, we can keep track of these matrices separately if we choose.
        Matrix.setLookAtM(viewMatrix, 0, eyeX, eyeY, eyeZ, lookX, lookY, lookZ, upX, upY, upZ);
 
        final String vertexShader =
                EasyShader.loadShader(EasyShader.VERTEX_SHADER, settings.getContext());
 
        final String fragmentShader =
                EasyShader.loadShader(EasyShader.FRAGMENT_SHADER, settings.getContext());
 
        // Create a program object and store the handle to it.
        int programHandle = EasyShader.compileProgram(vertexShader, fragmentShader);
 
        // Set program handles. These will later be used to pass in values to the program.
        mvpMatrixHandle = GLES20.glGetUniformLocation(programHandle, "u_MVPMatrix");
        positionHandle = GLES20.glGetAttribLocation(programHandle, "a_Position");
        colorHandle = GLES20.glGetAttribLocation(programHandle, "a_Color");
 
        // Tell OpenGL to use this program when rendering.
        GLES20.glUseProgram(programHandle);
    }
 
    @Override
    public void onSurfaceChanged(GL10 gl10, int width, int height) {
        // Set the OpenGL viewport to the same size as the surface.
        GLES20.glViewport(0, 0, width, height);
 
        // Create a new perspective projection matrix. The height will stay the same
        // while the width will vary as per aspect ratio.
        final float ratio = (float) width / height;
        final float left = -ratio;
        final float right = ratio;
        final float bottom = -1.0f;
        final float top = 1.0f;
        final float near = 1.0f;
        final float far = 10.0f;
 
        Matrix.frustumM(projectionMatrix, 0, left, right, bottom, top, near, far);
    }
 
    @Override
    public void onDrawFrame(GL10 gl10) {
        GLES20.glClear(GLES20.GL_DEPTH_BUFFER_BIT | GLES20.GL_COLOR_BUFFER_BIT);
 
        // Draw the triangle facing straight on.
        Matrix.setIdentityM(modelMatrix, 0);
        Matrix.rotateM(modelMatrix, 0, 0, 0.0f, 0.0f, 1.0f);
        drawTriangle(fb);
    }
 
    private void drawTriangle(final FloatBuffer fb)
    {
        // Pass in the position information
        fb.position(positionOffset);
        GLES20.glVertexAttribPointer(positionHandle, positionDataSize, GLES20.GL_FLOAT, false,
                strideBytes, fb);
 
        GLES20.glEnableVertexAttribArray(positionHandle);
 
        // Pass in the color information
        fb.position(colorOffset);
        GLES20.glVertexAttribPointer(colorHandle, colorDataSize, GLES20.GL_FLOAT, false,
                strideBytes, fb);
 
        GLES20.glEnableVertexAttribArray(colorHandle);
 
        // This multiplies the view matrix by the model matrix, and stores the result in the MVP matrix
        // (which currently contains model * view).
        Matrix.multiplyMM(mvpMatrix, 0, viewMatrix, 0, modelMatrix, 0);
 
        // This multiplies the modelview matrix by the projection matrix, and stores the result in the MVP matrix
        // (which now contains model * view * projection).
        Matrix.multiplyMM(mvpMatrix, 0, projectionMatrix, 0, mvpMatrix, 0);
 
        GLES20.glUniformMatrix4fv(mvpMatrixHandle, 1, false, mvpMatrix, 0);
        GLES20.glDrawArrays(GLES20.GL_TRIANGLES, 0, 3);
    }
}


Все та же ошибка! Я не понимаю из-за чего?! Я же указал, что нужен нативный порядок?!
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru