Смешивание двух FBO на iPhone дает странный результат? - PullRequest
2 голосов
/ 11 января 2010

Я программирую небольшое приложение для рисования на iphone и столкнулся с проблемой. Когда я объединяю два fbos, цвет становится белым вместо слияния. Посмотрите на картинку:

http://dl.dropbox.com/u/2025544/help.png

Здесь левая часть отображается как обычная программа для Mac, а правая отображается на платформе iPhone с почти таким же кодом, за исключением использования версии fos для eos.

Рисование нескольких FBO друг на друга создает альфа-смешение, которое я хочу:

  glEnable(GL_BLEND);
  glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
  myTex.draw(0, 0);


     for(int client = 0; client < 5;client++)
     {
        ofSetColor(
                 datas[client]->myColor.r,
                 datas[client]->myColor.g,
                 datas[client]->myColor.b,
                 datas[client]->myColor.a
                 );   


        datas[client]->myTex.draw(0,0);

     }

Слияние двух ФБО дает меду неправильную альфу:

   myTex.begin();
        glEnable(GL_BLEND);
        glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);


        ofSetColor(
                 datas[tmpMessage->clientId]->myColor.r,
                 datas[tmpMessage->clientId]->myColor.g,
                 datas[tmpMessage->clientId]->myColor.b,
                 datas[tmpMessage->clientId]->myColor.a
                 );
        datas[tmpMessage->clientId]->myTex.draw(0, 0);

        myTex.end();
        datas[tmpMessage->clientId]->myTex.clear(0, 0, 0, 0);

        datas[tmpMessage->clientId]->touchDown = true;

Пожалуйста, помогите, я схожу с ума: -)

Ответы [ 2 ]

1 голос
/ 11 января 2010

Вы проверяли, что для glBlendEquation () установлено?

0 голосов
/ 13 января 2010

Я решил проблему, не используя: glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); Я понятия не имею, почему это решило это ... и кажется, что другие также все портят ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...