PMG

Форумы по созданию игр
Текущее время: 25 апр 2024 05:11

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: "Раскраска"
СообщениеДобавлено: 24 июл 2011 10:20 
Не в сети
Постоянный
Аватара пользователя

Зарегистрирован: 26 фев 2010 13:18
Сообщения: 85
Всем доброго времени суток!

Мне хотелось сделать "раскраску", где пользователь мог бы раскрашивать различные предметы.
Это 2D разумеется.
Предмет загружается в текстуру, отображается.
Пользователь имеет в своём распоряжении кисти и краски.
Чтобы не заходил за границы рисунка, то сделать "полотно" для рисование через "маску".
И программа должна проверять: вся ли "картинка разрисована". Вот с этим проблемка.
Как вариант проверять отсутствие "пустых" пятен на полотне.

Но не знаю как это сделать в OpenGL. Подскажите, пожалуйста


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: "Раскраска"
СообщениеДобавлено: 24 июл 2011 11:08 
Не в сети
Постоянный
Аватара пользователя

Зарегистрирован: 26 фев 2010 13:18
Сообщения: 85
Покопавшись в интернете нашёл возможное решение проблемы - использовать функцию glReadPixels().
Я так понимаю, что указав определенные параметры, мы получим массив значений пикселей в указанном прямоугольнике. И сверяя их у нужным значением можно будет проверить заполнен данный прямоугольник цветом или нет.
Но это прямоугольник, а если картинка другой формы, сложной, выпуклой, с отверстиями, то тут как проверить. Ведь при такой картинке разумеется не все пиксели будут(да и должны) закрашены.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: "Раскраска"
СообщениеДобавлено: 26 июл 2011 16:21 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Если многоугольник, то берешь ограничивающий прямоугольник.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: "Раскраска"
СообщениеДобавлено: 27 июл 2011 09:12 
Не в сети
Постоянный
Аватара пользователя

Зарегистрирован: 26 фев 2010 13:18
Сообщения: 85
Ну а можно используя функцию glReadPixels() получить такой результат:
- что "под маской" чёрного цвета;
- полотно белого(если нет краски);
- полотно того цвета которого покрашено.

???


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: "Раскраска"
СообщениеДобавлено: 27 июл 2011 11:11 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
ReadPixels просто выдает значение пикселя и все. Маску можно получить - маскирование или через буфер шаблона.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 84


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB