Невозможно прочитать правильные значения с помощью glReadPixels() и неожиданные результаты для разных размеров точек.C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Невозможно прочитать правильные значения с помощью glReadPixels() и неожиданные результаты для разных размеров точек.

Сообщение Anonymous »

Я пытаюсь реализовать алгоритм заполнения границ, для чего использую функцию glReadPixels().
Но когда я использую glReadPixels(x, y, 1, 1, GL_RGB, GL_UNSIGNED_BYTE, &pixel); он всегда возвращает цвет фона, даже если я ранее изменил цвет пикселя.
Чтобы попытаться выяснить, что может быть не так , я написал этот код, который, похоже, не работает должным образом:

Код: Выделить всё

typedef struct pixel {
GLubyte r,g,b;
} pixel;

pixel p;

void ctest(){
glReadPixels(400, 400, 1, 1, GL_RGB, GL_UNSIGNED_BYTE, &p);
while (p.r!=255 || p.g!=0 || p.b!=0){
glColor3ub(255, 0, 0);
glBegin(GL_POINTS);
glVertex2i(400, 400);
glEnd();
glFlush();
glReadPixels(400, 400, 1, 1, GL_RGB, GL_UNSIGNED_BYTE, &p);

cout

Подробнее здесь: [url]https://stackoverflow.com/questions/78456786/unable-to-read-correct-values-using-glreadpixels-and-unexpected-results-for-di[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»