Russian Qt Forum

Qt => OpenGL => Тема начата: Sahsa от Февраль 26, 2016, 12:14



Название: glDrawPixels
Отправлено: Sahsa от Февраль 26, 2016, 12:14
Доброе время суток)
Ребята, у меня есть затруднения в выводе изображения при помощи glDrawPixels.
Суть проблемы, мне нужно создать подложку в виде растра.
В начале создается массив нужного размера и заполняется значениями от 0 до 255, а потом соответственно выводится при помощи glDrawPixels, но у меня просто белый экран.
Buffer – массив формата unsigned char.
glDrawPixels(m_iWidth, m_iHeight, GL_UNSIGNED_BYTE, GL_UNSIGNED_BYTE, buffer);
Вопрос: как мне правильно выводить или я неправильно задаю типы? Или есть другое решения)
Заранее спасибо)


Название: Re: glDrawPixels
Отправлено: Igors от Февраль 26, 2016, 14:58
У меня тоже когда-то капризничала. Уговаривал так
Код
C++ (Qt)
glRasterPos2i(0, 0);
glPixelZoom(1.0f, 1.0f);
glPixelTransferf(GL_ALPHA_SCALE, 1.0);
 
glGetIntegerv(GL_UNPACK_ALIGNMENT, &oldAlign);
glGetIntegerv(GL_UNPACK_ROW_LENGTH, &oldLen);
 
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);    
glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
 
glDrawPixels(width, height, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
 
glPixelStorei(GL_UNPACK_ALIGNMENT, oldAlogn);    
glPixelStorei(GL_UNPACK_ROW_LENGTH, oldLen);
 


Название: Re: glDrawPixels
Отправлено: Sahsa от Февраль 26, 2016, 20:08
У меня тоже когда-то капризничала. Уговаривал так
Код
C++ (Qt)
glRasterPos2i(0, 0);
glPixelZoom(1.0f, 1.0f);
glPixelTransferf(GL_ALPHA_SCALE, 1.0);
 
glGetIntegerv(GL_UNPACK_ALIGNMENT, &oldAlign);
glGetIntegerv(GL_UNPACK_ROW_LENGTH, &oldLen);
 
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);    
glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
 
glDrawPixels(width, height, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
 
glPixelStorei(GL_UNPACK_ALIGNMENT, oldAlogn);    
glPixelStorei(GL_UNPACK_ROW_LENGTH, oldLen);
 

а что в данном случаи oldAlogn и oldLen?


Название: Re: glDrawPixels
Отправлено: Igors от Февраль 27, 2016, 06:58
а что в данном случаи oldAlogn и oldLen?
Просто инты (только oldAlign)