Конференция "Media" » glReadPixels не читает [D7]
 
  • CrytoGen (27.06.11 11:59) [0]
    Делаю выбор объектов с помощью glReadPixels
    var
     n     :  Integer;
     pixel : array[0..3*4-1] of GLubyte;
    begin
    state.select:=True;
    glDisable(GL_LIGHTING);
    glDisable(GL_CULL_FACE);
    FParent.Draw(False);//рисование сцены, все объекты разными цветами
    // ZeroMemory(@pixel,sizeOf(pixel));
    // glReadBuffer(GL_FRONT);
    glReadPixels ( x, FParent.Height-y, 2, 2, GL_RGB, GL_UNSIGNED_BYTE, @pixel );
    n:=Round((pixel[0]+pixel[1] shl 8+pixel[2] shl 16)/32-1);



    glReadPixels ничего не пишет в буфер, т.е., например до вызова glReadPixels pixel=(208, 59, 160, 1, 69, 197, 68, 0, 92, 3, 0, 0) и после вызова значения в массиве не меняются. Если обнулять, то после вызова будут соответственно нули.
    Контекст opengl в программе один, кроме того FParent.Draw(False) делает его активным, без смены буферов. Код почти полностью взял из предыдущего проекта.
 
Конференция "Media" » glReadPixels не читает [D7]
Есть новые Нет новых   [134431   +6][b:0][p:0.001]