LINUX.ORG.RU

История изменений

Исправление 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? И зачем для вычисления отражения кваке плавающая точка??