Если изображаемая трехмерная поверхность искр :влена, то стороны этого четырехугольника также могут быть искривлены. (Представьте себе это мысленно.)

22 Ф. Хилл Глава 10, Средства для растровой графики Для уменьшения эффектов ступенчатости цвет экранного пиксела следует задавать посредством усреднения цветов внутри соответствующего текстурного квадрата. На рис. 10.49 показан текстурный квадрат, наложенный на отдельные текстурные элементы, или тексели (рехеЬ) пиксельной карты 1х1;г[][], которая определяет функцию £ех£иге(5, £). Если бы существовал простой способ определения площади каждого текселя, лежащего внутри данного текстурного квадрата, то усреднение не составило бы труда: мы бы просто присвоили весовые коэффициенты этой площади каждому значению 1х1т[г] [с], сложили бы результаты и разделили бы сумму на площадь квадрата. Эта процедура аналогична технологии предфильтрации, которую мы уже использовали для сглаживания. К сожалению, такое вычисление очень дорогостояще, поскольку трудно найти площадь каждого текселя, покрываемого квадратом.

Нахождение усредненного цвета, средне взвешенного по площади

Рис. 10.49. Нахождение усредненного цвета, средне взвешенного по площади Хекберт исследовал различные методы, разработанные для аппроксимации данного вида предфильтрации [Heckbert, 102]. В частности, рекомендуется один из этих методов - фильтр с эллиптическим средним взвешенным, или EWA-фильтр (elliptical weighted-average filter) [Greene, 93]. Как показано на рис. 10.50, в рамках этого метода каждый экранный пиксел покрывается фильтр-функцией с круговой симметрией (концентрические окружности изображают различные весовые уровни, как на топографической карте), после чего эта фильтр-функция отображается в пространство текстуры, где она приобретает форму эллипса, примерно соответствующего форме текстурного квадрата. Значения фильтр-функции, записанные в таблице LUT, используются для взвешивания различных точек внутри эллипса, после чего эти взвешенные величины суммируются для получения среднего. Все это может быть осуществлено в приращеш"opengl1_736.html">⇐ Предыдущая| |Следующая ⇒