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

Инициализация OpenGL ES - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Пути к файлам внутри программы http://www.cyberforum.ru/android-dev/thread1098168.html
Есть картинка, хочу её открыть в View компоненте. вызываю метод view.loadImage(String path). Постоянно вылетает ошибок много, как понял, ругается на пути. Путь пишу "res/drawable/women.jpg" Пробовал картинку кидать в корень проекта и путь указывать сразу к ней, но не помогло. Что я делаю не так:
Программирование Android После setVisibility(View.GONE) не могу сделать элемент видимым Нужно скрывать/показывать нижнюю панель (LinearLayout). Если скрыть ее (View.GONE), то элемент (fragment), заполняет весь экран. Но вызов setVisibility(View.VISIBLE) приводит к тому, что панель якобы становится видимой (getVisibility() == View.VISIBLE), но на экране не появляется. Вероятно, осташись за пределами видимой области. Как исправить? http://www.cyberforum.ru/android-dev/thread1098052.html
Программирование Android реклама от Mobclix
Кто работал с Mobclix. Не выводится реклама даже в с их демо примера. В чем может быть проблема.
Программирование Android Отправка данных на сервер
Нужна помощь. У меня кое-какие проблемы с кодом. Я отправляю данные на удаленный сервер, вроде все правильно написано, но выдает много ошибок. Если нужно могу скинуть логи и скриншоты.
Программирование Android Восстановление диалогового окна после смены ориентации экрана http://www.cyberforum.ru/android-dev/thread1097788.html
public class MainActivity extends Activity{ //объявляю тут, чтобы потом не создавать повторно //(для сохранения значений элементов после закрытия диалога) Dialog dialogSearch = null; //Вызов диалогового окна public void showDialogSearch() { if (dialogSearch == null)
Программирование Android Среда разработки Eclipce Подскажите пожалуйста, как в Eclipce показать дерево каталогов проекта, если его случайно закрыл. А также, как открыть проект в каталоге? подробнее

Показать сообщение отдельно
Ieroglif
18 / 18 / 1
Регистрация: 23.06.2011
Сообщений: 237

Инициализация OpenGL ES - Программирование Android

16.02.2014, 21:02. Просмотров 1407. Ответов 18
Метки (Все метки)

Вечер добрый, товарищи. Пытаюсь инициализировать область GLSurfaceView в части экрана. Как-то не очень выходит.
Подскажите?
Код:

main.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package ru.project.exampleproject;
 
import android.os.Bundle;
import android.app.Activity;
import android.opengl.GLSurfaceView;
 
public class MainActivity extends Activity {
 
GLSurfaceView myScen = new MyScene(this);
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        myScen.setRenderer(new MyRender());
        setContentView(R.layout.main);
    }
}
main.xml
XML
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
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
 
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="2"
        android:orientation="vertical" >
        <ru.project.exampleproject.MyScene
             android:id="@+id/3dscene"
             android:layout_width="fill_parent"
            android:layout_height="fill_parent"/>
            
    </LinearLayout>
 
    <LinearLayout
        android:id="@+id/patr_for_change"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="horizontal" >
 
        <LinearLayout
            android:id="@+id/down_part"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="8"
            android:orientation="horizontal">
        </LinearLayout>
 
        <LinearLayout
            android:id="@+id/up_part"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_weight="2"
            android:orientation="horizontal">
        </LinearLayout>
        
    </LinearLayout>
 
</LinearLayout>
Класс GLSurfaseView
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
package ru.project.exampleproject;
 
import android.opengl.GLSurfaceView;
import android.content.Context;
 
public class MyScene extends GLSurfaceView {
    
    public MyScene(Context context) 
    {
        super(context);
        
    }
    
    
    
    public void onResume() 
    {
    super.onPause();
    super.onResume();
    }
    
    public void onPause() 
    {
    super.onPause();
    super.onPause();
    }
}
Некотрый Renderer (взят из статьи)
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
package ru.project.exampleproject;
 
import android.opengl.GLSurfaceView.Renderer;
import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;
import android.annotation.SuppressLint;
import android.opengl.GLU;
 
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.FloatBuffer;
import java.util.ArrayList;
 
public class MyRender implements Renderer
{
    boolean drawBl = false;
    private FloatBuffer lineVB;
    GL10 glLocal;
    int countVertex;
    
    public int screenHeight;
    
    @Override
    public void onDrawFrame(GL10 gl) {          
        gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
 
        gl.glMatrixMode(GL10.GL_MODELVIEW);
        gl.glLoadIdentity();   // reset the matrix to its default state
        
        // When using GL_MODELVIEW, you must set the view point
        GLU.gluLookAt(gl, 0, 0, -5, 0f, 0f, 0f, 0f, 1.0f, 0.0f);
        
        if(true == drawBl)
        {
            gl.glColor4f(0.63671875f, 0.76953125f, 0.22265625f, 0.0f);
            gl.glVertexPointer(3, GL10.GL_FLOAT, 0, lineVB);
            gl.glDrawArrays(GL10.GL_LINES, 0, countVertex);
        }
    }
 
    @Override
    public void onSurfaceChanged(GL10 gl, int width, int height) {
        gl.glViewport(0, 0, width, height);
        
        gl.glMatrixMode(GL10.GL_PROJECTION);        // set matrix to projection mode
        gl.glLoadIdentity();
        gl.glOrthof(0, -width,  0, height, 3, 7);
        gl.glMatrixMode(GL10.GL_MODELVIEW);
        
        screenHeight = height;
    }
 
    @Override
    public void onSurfaceCreated(GL10 gl, EGLConfig config) {
        
        glLocal = gl;
        
        gl.glClearColor(0.5f, 0.5f, 0.5f, 1.0f);
        gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
    }
}
Ну и манифест:
XML
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
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="ru.project.exampleproject"
    android:versionCode="1"
    android:versionName="1.0" >
 
    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />
 
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="ru.project.exampleproject.MainActivity"
            android:screenOrientation="landscape" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="ru.project.exampleproject.StartActivity"
            android:label="@string/title_activity_start" >
        </activity>
    </application>
 
</manifest>
Добавлено через 1 минуту
В частности интересует праивильно ли реализованы onResume() и onPause()?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru