ПредишенСледващото

multitexturing

Direct3D библиотека позволява налагане на един полигон са не една, а няколко текстури. Налагането на ръба на множество текстури нарича multitexturing. Към днешна дата поддържа до 8 наслоявания (нива) на текстурата от едната страна. Верига (принцип) multitexture може да бъде описан, както следва. Произход текстурни ниво (с индекс 0) приема два входни стойности: дифузната цвета на Тексел и връх цвят; Тя произвежда тези операции с тях и преминава в резултат на следващото (по-ниска) ниво. Получени в предварително стойността на цвят се използва като аргумент на настоящите нива и т.н. Схематично тези стъпки multitexture могат да бъдат представени, както следва:

Знайте, Intuit, лекция, текстуриране

Както стана ясно, след като мулти-текстуриране бизнес са били с няколко текстури. Когато multitexturing възможно за всяко ниво текстура посочи същите текстури координати. В този случай, форматът на срещата на върха и да зададете! VF знамена остават непроменени. Възможно е да се определи кои текстурни координати ще се провеждат един или друго ниво на текстура. Можете да използвате следните програмни редове:

Така, например, за да покаже, че второто ниво ще използва текстура координати на първата структура слой, е достатъчно да се използва следния метод повикването: SetTextureStageState (1, D3DTSS_TEXCOORDINDEX, 0). И тогава ще трябва да изтеглите (инсталиране) на съответните текстурата текстурни нива.

Можете да определите за всяко ниво на собствените си текстура текстура координати. В този случай, трябва правилно да променя формата на върха в описанието и набор от! VF знамена. По-долу е описание пример от най-добрите и знамената! VF multitexturing с две нива (текстури) и текстура координати.

С такава каскада multitexture имаме за всяко ниво на текстурата цвят зададете два аргумента и операции по тях, като се обадите интерфейс SetTextureStageState IDirect3DDevice9:

Освен вече известните цветови стойности на константите за аргументите в константата на повикване D3DTA_CURRENT може да се използва. който казва, че тъй като стойността на цвета ще бъде взето от предишното ниво текстура.

Можем също така да посочите желания вид филтриране на текстурите за всяко отделно ниво текстура посочен като първи аргумент номер и да се извика методът SetSamplerState IDirect3DDevice9 интерфейс.

Най-общо казано, можете дори да използвате текстура за изпълнение multitexture механизъм. За да направите това, първо и второ ниво на текстура, за да изтеглите и съща текстура, но стойностите на координатите текстура за тях трябва да се различават. Кодът за това събитие е, както следва:

Долу е даден пример с помощта на един multitexturing консистенция и текстура на два слоя.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!