ПрограммированиеФорум2D графика и изометрия

2D OpenGL Help Me (5 стр)

Страницы: 1 2 3 4 5
#60
22:01, 7 ноя 2009

DarkWraith
Colision between two alpha images | 2D OpenGL Help Me

две картинки A и B. Их bounding rect'ы выделены соотв. рамкой. Полупрозрачный красный прямоугольник R - это область пересечения картинок. Т.к. картинки с альфой, то пересечение их bb не означает пересечение изображений. Чтобы определить коллизию с учетом прозрачности, в области R делай логическое умножение альфа каналов из изображения A и B (через and, &) попиксельно и суммируй. Если sum > 0, то изображения пересеклись. Если твои изображения могут быть повернуты на любой угол - не много сложнее получается, но принцип тот же

#61
23:29, 7 ноя 2009

Вот с поворотом любым поподробнее можно? :)

#62
16:17, 8 ноя 2009

DarkWraith
> Вот с поворотом любым поподробнее можно? :)
Ну с поворотом надо брать не просто пикселы по (x, y), а с повернутыми. Поворачивать матрицей 2х2 можно. Только вот область там уже не прямоугольная будет. Тут надо думать :)

#63
21:15, 18 ноя 2009

Доброго времени суток. Я решил не создавать новую тему, т.к. вся суть отражена в названии этой :)
Не подскажите, как можно реализовать некий "color overlay" текстурированного полигона (спрайта) без трафаретов и дополнительных текстур?
По сути это будет выглядеть как абсолютно белая текстура, альфа каждого пикселя которой повторяет альфу соответствующего пикселя основной текстуры, и которая накладывается поверх этой самой основной текстуры с вызовом glColor.
Например, glColor(1, 0, 0, 0.5) перед наложением белой текстуры даст нам наполовину "покрасневшую текстуру".

Страницы: 1 2 3 4 5
ПрограммированиеФорум2D графика и изометрия

Тема в архиве.