Мерцание белого экрана для рендеринга изображения - PullRequest
1 голос
/ 29 апреля 2019

Это первая публикация здесь, я новичок в openGL. Пытаюсь отобразить содержимое камеры с помощью рыбьей коррекции глаза (используя фрагментный шейдер). Работает нормально, но иногда мерцание белого цвета возникало на полном экране, а во время мерцания появлялся код ошибки ниже.

NCGSYS_FrameMemAlloc : AllocateAnyMemoryRegion (Kernel) failed - 138.

из общей памяти получить данные камеры (buf) и обработать, как показано ниже

glGenTextures(1, &textureID);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 1024, 600, 0, GL_RGBA, GL_UNSIGNED_BYTE, (GLvoid*)buf);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR); // Linear Filtering
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); // Linear Filtering    

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S,     GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T,     GL_CLAMP_TO_EDGE);

glVertexAttribPointer ( positionLoc, 3, GL_FLOAT, GL_FALSE, 5 * sizeof(GLfloat), vVertices );
glVertexAttribPointer ( texCoordLoc, 2, GL_FLOAT, GL_FALSE, 5 * sizeof(GLfloat), &vVertices[3] );            

glEnableVertexAttribArray ( positionLoc );
glEnableVertexAttribArray ( texCoordLoc );
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glClearColor(0.0, 0.0, 0.0, 1.0);
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D,textureID);
glDrawElements ( GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, indices );

Call eglSwapBuffers().
...