Изменение текстуры многоугольника в потоке - PullRequest
0 голосов
/ 28 февраля 2012

В какой-то момент моего приложения (для Android) мне нужно изменить текстуру многоугольника.

Для этого я должен загрузить растровое изображение из папки активов, а затем передать растровое изображение методу loadBitmap моего полигона, который изменяет текстуру.

Работает нормально, но мне нужно переместить код в поток, потому что время загрузки растрового изображения застывает мой полигон opengl при загрузке растрового изображения из папки активов.

Поскольку я реализовал поток, который вызывается для изменения текстуры, но что-то идет не так, потому что моя текстура пуста (белая), когда я использую поток, но он работает, если я не использую поток, это мой код нити:

public class addNextPage extends Thread
{
    GL10 gl;
    public addNextPage(GL10 gl) {
        super();
        this.gl = gl;
    }       
    public void run() 
    {
        super.run();

        Bitmap bm=loadImage(pages.get(0));
        auxSquare.loadBitmap(context, gl, bm);  
        squares.set(3,auxSquare);

        currentPage+=1;                 
        //vuelvo a recolocar los squares
        int posCont=-2; //el primer polígono está a la izquierda, no se ve.
        for (int i=0;i<squares.size();i++){
            if (squares.get(i)!=null)
                squares.get(i).setPosition(posCont,0);
            posCont+=2;
        }           
    }
}
...