OpenGL - неправильный цвет пикселя - PullRequest
0 голосов
/ 31 мая 2018

Я рисую красный треугольник, который составляет половину экрана (экран 1024 * 768, цвет фона черный).Затем я читаю цвет каждого пикселя, используя glReadPixels.Должно быть 1024 * 768/2 пикселей с (r = 255, g = 0, b = 0), поскольку красный треугольник составляет половину размера экрана, а оставшиеся пиксели должны быть (r = 0, g =0, б = 0).Однако существует небольшое количество пикселей, которые не являются ни (r = 255, g = 0, b = 0), ни (r = 0, g = 0, b = 0):

  • некоторые из них (r = 64, g = 0, b = 0)

  • некоторые из них (r = 128, g = 0, b = 0)

  • и некоторые из них (r = 191, g = 0, b = 0)

Знаете ли вы, что может произойти?

Этомой фрагментный шейдер:

in vec3 fragmentColor;

out vec3 color;

void main(){

        color = vec3(1,0.,0.);
}

и вот как я читаю цвет пикселя:

unsigned char *mycolor = (unsigned char *)malloc(3*width_here*height_here*sizeof(unsigned char *));

glReadPixels(0, 0, width_here, height_here, GL_RGB, GL_UNSIGNED_BYTE, (GLvoid*)(mycolor));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...