- просмотреть все соседние пикселы(если 0 по х, сравнить с пикселом сверху)
- сравнение пикселов
- по каждой из x, y, z получить коэффициент отличия = min(x1,x2)/max(x1,x2)
- если этот коэффициент > константы макс. отличия(0.3 например), то установить флаг необходимости антиалиазинга и прервать цикл по x, y, z
- расчет точек углов, в которых затем усредняется делением на 4 получившиеся цвета в субпикселах, Java:
float xScale = scene.viewWidth / width;
float yScale = scene.viewHeight / height;
float left = (x - 0.25f*(1.1f-rndrnd.getFloat()*0.3f)) * xScale; //(0.8 .. 1.1)/4 = 0.2 .. 0.275
float right = (x + 0.25f*(1.1f-rndrnd.getFloat()*0.3f)) * xScale;
float above = (y - 0.25f*(1.1f-rndrnd.getFloat()*0.3f)) * yScale;
float below = (y + 0.25f*(1.1f-rndrnd.getFloat()*0.3f)) * yScale;
пятница, 30 октября 2015 г.
simple adaptive antialias pass
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий