Но когда я использую 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]