Russian Qt Forum
Ноябрь 22, 2024, 18:47 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: glDrawPixels  (Прочитано 4631 раз)
Sahsa
Гость
« : Февраль 26, 2016, 12:14 »

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

Сообщений: 11445


Просмотр профиля
« Ответ #1 : Февраль 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);
 
Записан
Sahsa
Гость
« Ответ #2 : Февраль 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?
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #3 : Февраль 27, 2016, 06:58 »

а что в данном случаи oldAlogn и oldLen?
Просто инты (только oldAlign)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.09 секунд. Запросов: 23.