Самоучитель по 3dsmax 7
Курс: инструктор тренажерного зала Курс инструктор групповых программ. Аэробика (Класс HI-LO).
         

Но и ее можно убрать


Но и ее можно убрать. Дело в том, что числа с плавающей запятой (float'ы) как раз и хранятся в логарифмической форме, и floor(log2(x)) можно посчитать вот так: float x; int floor_log2_x; x = 123456; floor_log2_x = ((*((int*)&x)) - (127 > 23; // чистый C floor_log2_x = (((int&)x) - (127 > 23; // C++

Соответственно, floor(log2(sqrt(x))) = floor(log2(x) / 2) считаем как miplevel = ((*((int*)&x)) - (127 > 24; // чистый C miplevel = (((int&)x) - (127 > 24; // C++

Естественно, что этот трюк можно применить и в случае полигонного мипмэпинга для полного устранения всяческих медленых операций типа sqrt(), log2(). Вот, в общем-то, и все.

Содержание раздела