История изменений
Исправление Woofywoof, (текущая версия) :
во-первых, не факт что ошибку будет видно.
алгоритм вычисления берется из тригонометрических функция для sse - там формула тейлора первые два члена(для cos 1+), а перед ней умножение и некоторое издевательство над числами с хитрожопым округлением.
в пределе 4(2x/pi)^3-2(2x/pi) даст ~~ 4(1+a)^3 где а - влезшие биты которы должны быть, т.е. 1/16384. это где-то 12/16384 ну пусть будет 1/1024 по царски оценим. и на сколько её надо умножить, чтоб вышел хотя бы один пиксель?
если у нас моделька в формате координат 4.12 (размером 16 метров по каждому направлению), то в пределе будет 1/256 метра. домножим на 3 и получим полную ошибку 0.003 метра для одного преобразования.
это в нищенских 16 битах. если будет 32 бита, то точности с запасом хватит на несколько преобразований такого плана.
А в чём проблема быстро вычислять обратный корень на Atari? И зачем для вычисления отражения кваке плавающая точка?? Да и мегатекстура это уже квака4.
Исходная версия Woofywoof, :
во-первых, не факт что ошибку будет видно.
алгоритм вычисления берется из тригонометрических функция для sse - там формула тейлора первые два члена(для cos 1+), а перед ней умножение и некоторое издевательство над числами с хитрожопым округлением.
в пределе 4(2x/pi)^3-2(2x/pi) даст ~~ 4(1+a)^3 где а - влезшие биты которы должны быть, т.е. 1/16384. это где-то 12/16384 ну пусть будет 1/1024 по царски оценим. и на сколько её надо умножить, чтоб вышел хотя бы один пиксель?
если у нас моделька в формате координат 4.12 (размером 16 метров по каждому направлению), то в пределе будет 1/256 метра. домножим на 3 и получим полную ошибку 0.003 метра для одного преобразования.
это в нищенских 16 битах. если будет 32 бита, то точности с запасом хватит на несколько преобразований такого плана.
А в чём проблема быстро вычислять обратный корень на Atari? И зачем для вычисления отражения кваке плавающая точка??