Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Параметри текстури
З кожним зображенням текстури повинні бути пов'язані параметри текстури, що визначаються у функції TexParameter і задають спосіб відображення текселів на пікселі. Перша група параметрів TEXTURE_WRAP визначає, що робити, якщо якась із координат текстури (s, t) виходить за діапазон [0., 1.]. Для кожної з координат можна задати свій спосіб дії. Можливі два варіанти - CLAMP або REPEAT. · У режимі CLAMP, якщо відповідна координата текстури виходить за одиничний діапазон, текстура не накладає. Цей режим застосовується, коли потрібно накласти зображення на об'єкт в єдиному екземплярі. · У другому з можливих режимів - REPEAT, використовується завжди тільки дрібна частина координати і тим самим може бути створена повторювана картина. Друга група параметрів пов'язана з тією обставиною, що розміри пікселів і текселів не обов'язково збігаються. У процесі накладення текстури, виходячи з значень текстурних координат в вершинах полігону, шляхом інтерполяції обчислюються значення текстурних координат в центрі кожного пікселя полігону, отриманого в результаті растеризації, а також визначається область текстурного простору, на яку відображається даний піксель. Залежно від розміру області використовується один з двох алгоритмів фільтрації. Якщо область більше, ніж один тексель (Рис.1.), текстура стискається так, щоб відповідати пікселю екрану, для чого застосовується фільтр стиснення. Рис.1. Стиснення текстури. В іншому випадку, коли область менше текселя, текстура розширюється і використовується фільтр розширення (Рис.2.). Рис.2. Розширення текстури. Можна визначити один з наступних фільтрів стиснення і розширення: · NEAREST - при стисненні / розширенні використовуватиметься значення елемента текстури, який є найближчим до центру пікселя, на який накладається текстура. · LINEAR - буде використовуватися зважене середнє 4 найближчих до пікселя елементів текстури. Близькість визначається за координатами текстури, розрахованим для пікселя. Крім того, для фільтрів стиснення можна використовувати MIPMAP, - сукупність масивів, які представляють одне зображення з послідовно зменшеним дозволом. Якщо розмір текстури 2n х 2m, то мається max (n, m) +1 MIPMAP. Перша карта - це вихідне зображення. Кожна наступна карта має розміри 2k-1 х 2l-1, де 2k * 2l - розміри попередньої карти[8]. Фільтри стиснення на основі MIPMAP різняться кількістю використовуваних в них MIPMAP і способом отримання значення текстури. · NEAREST_MIPMAP_NEAREST - вибирається MIPMAP, найближча до розміру пікселя текстурування, і у відповідність з режимом NEAREST вибирається значення текстури. · NEAREST_MIPMAP_LINEAR - обираються дві MIPMAP, які найбільш близькі за розмірами до пікселю текстурування. Використовується режим NEAREST для отримання значення текстури з кожної карти MIP. Остаточне значення текстури виходить, як зважене середнє цих двох значень. У позначеннях двох інших фільтрів на першому місці стоїть LINEAR - це фільтри LINEAR_MIPMAP_NEAREST і LINEAR_MIPMAP_LINEAR. Від попередніх фільтрів вони відрізняються тим, що для вибірки значення текстури з MIPMAP використовується режим LINEAR. Date: 2015-07-17; view: 456; Нарушение авторских прав |