Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Valakin
431 / 97 / 15
Регистрация: 21.02.2015
Сообщений: 738
#1

Почему eclipse подчеркивает raw?

15.04.2015, 11:55. Просмотров 311. Ответов 0
Метки нет (Все метки)

в строке String fragmentShaderSource = TextResourceReader
.readTextFileFromResource(context, R.raw.simple_fragment_shader);
ошибка, подчеркивает raw

файл в raw конечно же лежит

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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
/***
 * Excerpted from "OpenGL ES for Android",
 * published by The Pragmatic Bookshelf.
 * Copyrights apply to this code. It may not be used to create training material, 
 * courses, books, articles, and the like. Contact us if you are in doubt.
 * We make no guarantees that this code is fit for any purpose. 
 * Visit [url]http://www.pragmaticprogrammer.com/titles/kbogla[/url] for more book information.
***/
package com.airhockey.android;
 
import static android.opengl.GLES20.GL_COLOR_BUFFER_BIT;
import static android.opengl.GLES20.GL_FLOAT;
import static android.opengl.GLES20.GL_LINES;
import static android.opengl.GLES20.GL_POINTS;
import static android.opengl.GLES20.GL_TRIANGLES;
import static android.opengl.GLES20.glClear;
import static android.opengl.GLES20.glClearColor;
import static android.opengl.GLES20.glDrawArrays;
import static android.opengl.GLES20.glEnableVertexAttribArray;
import static android.opengl.GLES20.glGetAttribLocation;
import static android.opengl.GLES20.glGetUniformLocation;
import static android.opengl.GLES20.glUniform4f;
import static android.opengl.GLES20.glUseProgram;
import static android.opengl.GLES20.glVertexAttribPointer;
import static android.opengl.GLES20.glViewport;
 
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.FloatBuffer;
 
import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;
 
import android.content.Context;
import android.opengl.GLSurfaceView.Renderer;
 
import com.airhockey.android.util.LoggerConfig;
import com.airhockey.android.util.ShaderHelper;
import com.airhockey.android.util.TextResourceReader;
 
public class AirHockeyRenderer implements Renderer {
    private static final String U_COLOR = "u_Color";
    private static final String A_POSITION = "a_Position";    
    private static final int POSITION_COMPONENT_COUNT = 2;
    private static final int BYTES_PER_FLOAT = 4;
    private final FloatBuffer vertexData;
    private final Context context;
    private int program;
    private int uColorLocation;
    private int aPositionLocation;
 
    public AirHockeyRenderer() {
        // This constructor shouldn't be called -- only kept for showing
        // evolution of the code in the chapter.
        context = null;
        vertexData = null;
    }
 
    public AirHockeyRenderer(Context context) {
        this.context = context;
        
        /*
        float[] tableVertices = { 
            0f,  0f, 
            0f, 14f, 
            9f, 14f, 
            9f,  0f 
        };
         */
        /*
        float[] tableVerticesWithTriangles = {
            // Triangle 1
            0f,  0f, 
            9f, 14f,
            0f, 14f,
 
            // Triangle 2
            0f,  0f, 
            9f,  0f,                            
            9f, 14f         
            // Next block for formatting purposes
            9f, 14f,
            , // Comma here for formatting purposes         
 
            // Line 1
            0f,  7f, 
            9f,  7f,
 
            // Mallets
            4.5f,  2f, 
            4.5f, 12f
        };
         */
        float[] tableVerticesWithTriangles = {
            // Triangle 1
            -0.5f, -0.5f, 
             0.5f,  0.5f,
            -0.5f,  0.5f,
 
            // Triangle 2
            -0.5f, -0.5f, 
             0.5f, -0.5f, 
             0.5f,  0.5f,
 
            // Line 1
            -0.5f, 0f, 
             0.5f, 0f,
 
            // Mallets
            0f, -0.25f, 
            0f,  0.25f
        };
        
        vertexData = ByteBuffer
            .allocateDirect(tableVerticesWithTriangles.length * BYTES_PER_FLOAT)
            .order(ByteOrder.nativeOrder())
            .asFloatBuffer();
 
        vertexData.put(tableVerticesWithTriangles);
    }
 
 
    @Override
    public void onSurfaceCreated(GL10 glUnused, EGLConfig config) {
        /*
        // Set the background clear color to red. The first component is red,
        // the second is green, the third is blue, and the last component is
        // alpha, which we don't use in this lesson.
        glClearColor(1.0f, 0.0f, 0.0f, 0.0f);
         */
 
        glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
 
        String vertexShaderSource = TextResourceReader
            .readTextFileFromResource(context, R.raw.simple_vertex_shader);
        String fragmentShaderSource = TextResourceReader
            .readTextFileFromResource(context, R.raw.simple_fragment_shader);
 
        int vertexShader = ShaderHelper.compileVertexShader(vertexShaderSource);
        int fragmentShader = ShaderHelper.compileFragmentShader(fragmentShaderSource);
 
        program = ShaderHelper.linkProgram(vertexShader, fragmentShader);
 
        if (LoggerConfig.ON) {
            ShaderHelper.validateProgram(program);
        }
 
        glUseProgram(program);
 
        uColorLocation = glGetUniformLocation(program, U_COLOR);
        
        aPositionLocation = glGetAttribLocation(program, A_POSITION);
        
        // Bind our data, specified by the variable vertexData, to the vertex
        // attribute at location A_POSITION_LOCATION.
        vertexData.position(0);
        glVertexAttribPointer(aPositionLocation, POSITION_COMPONENT_COUNT, GL_FLOAT, 
            false, 0, vertexData);
 
        glEnableVertexAttribArray(aPositionLocation);
    }
 
    /**
     * onSurfaceChanged is called whenever the surface has changed. This is
     * called at least once when the surface is initialized. Keep in mind that
     * Android normally restarts an Activity on rotation, and in that case, the
     * renderer will be destroyed and a new one created.
     * 
     * @param width
     *            The new width, in pixels.
     * @param height
     *            The new height, in pixels.
     */
    @Override
    public void onSurfaceChanged(GL10 glUnused, int width, int height) {
        // Set the OpenGL viewport to fill the entire surface.
        glViewport(0, 0, width, height);        
    }
 
    /**
     * OnDrawFrame is called whenever a new frame needs to be drawn. Normally,
     * this is done at the refresh rate of the screen.
     */
    @Override
    public void onDrawFrame(GL10 glUnused) {
        // Clear the rendering surface.
        glClear(GL_COLOR_BUFFER_BIT);
        
        // Draw the table.
        glUniform4f(uColorLocation, 1.0f, 1.0f, 1.0f, 1.0f);        
        glDrawArrays(GL_TRIANGLES, 0, 6);
        
        // Draw the center dividing line.
        glUniform4f(uColorLocation, 1.0f, 0.0f, 0.0f, 1.0f);        
        glDrawArrays(GL_LINES, 6, 2); 
        
        // Draw the first mallet blue.        
        glUniform4f(uColorLocation, 0.0f, 0.0f, 1.0f, 1.0f);        
        glDrawArrays(GL_POINTS, 8, 1);
 
        // Draw the second mallet red.
        glUniform4f(uColorLocation, 1.0f, 0.0f, 0.0f, 1.0f);        
        glDrawArrays(GL_POINTS, 9, 1);
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2015, 11:55
Ответы с готовыми решениями:

Почему подчеркивает Location Manager?
не могу понять почему подчеркивает Location Manager? раньше не подчеркивало?! т.е. даже в смысл...

SQLite DataBase - почему подчеркивает DataBase db: пишет (DataBase cannot be resolved to a type)
Здравствуйте! помогите понять почему подчеркивает DataBase db; пишет (DataBase cannot be...

MediaPlayer выбор из Raw ?
Можно ли в MediaPlayer предоставить пользователю возможность выбрать треки из raw , как это...

Подпапки в res\raw
Привет всем. Уточните пожалуйста. Есть ListView, через который открываются локальные html-файлы...

Прочитать файл из res/raw
Привет. Можно ли как нибуть прочитать файл из res/raw не с помощью openRawResource()? То есть...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.04.2015, 11:55

Чтение документа не из res/raw
Доброе время суток. Есть небольшой фрагмент кода который читает csv документ из res/raw ...

Запись строки в res/raw/file.txt
Здравствуйте. Подскажите пожалуйста как можно записать строку (или переменную типа String), в raw...

Ошибка при работе с файлом лежащим в res/raw
Доброго времени суток! Написан код, на стадии компиляции ошибок нет, но, при переходе в нужное...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru