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

За разбиране на термина, първо проверете с концепцията Bump Mapping.

Картината показва триъгълника, който е по програмата за разглеждане на вектор вид изглежда в този момент би било видимо bump'a - А. В действителност, ние трябва да се види точка Б, така че основната задача на този ефект е да намерите координатите на точка Б, т.е. получите нова координати на текстурата и да ги използвате, какъвто е случаят с един прост бум mapping'om. По този начин, по-високите части (с височина А) повърхности са отдалечени от зрителя, а в близост (височина В) ще подход, който ще хълмове.

A, B - височина,
T0 - действителните координати,
Т1 - регулира координати,
V - векторни видове.
За да се изчисли отклонението трябва да бъде три стойности: действителните координати на нормализираните векторни видове и височината.
Височината (на фигурата - А) с диапазон от скалиращи коефициенти и и б за смяна обхват, който по-добре показва физичните свойства на модела повърхността. Как да изберем коефициентите?
Например, на повърхността на размер MXN е К дебелина слой материал, тогава S = K / MXN и обхват на стойности на височина е равна. С помощта на офсетов B = - K / MXN, получава серия. Средната стойност от тези два фактора дава най-добрата сближаване: б / S = 0,5; б = S * 0.5f;
Стойността на новата височина (B) е:

Изместването се изчислява чрез проследяване вектор паралелно триъгълник от точка T0 на видове вектори:

Но отместването е малък при малки ъгли, т.е. Tn ще бъде по-близо до T0, което ще даде на ефекта на "размазване" на повърхността. Най-лесното решение на този проблем е да се ограничи изместването на не повече от по Нп:

Тогава желаните текстура координати са:

Получените координати на текстурата се използват за всички sampler'ov в пиксел шейдър.

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

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