Главная » Статьи » IT |
Разбиение задержки между кадрами на несколько
В некоторых случаях, при просчёте физики, слишком большое значение задержки между кадрами (обычно именуемое delta или elapsed) приводит к неверным результатам (например объекты могут проскакивать друг через друга). Эта проблема может быть легко решена если разбивать это значение на несколько при превышении им некоторого максимального порогового значения. Ниже приведена функция, которая выполняет сказанное выше. #include <vector> //! \brief Функция разбиения значения (value) на несколько при превышении им максимального значения (MAX_VALUE). template<class Type> void SplitValue( std::vector<Type>& dest, Type value, const Type MAX_VALUE ) { dest.clear(); while(true) { if( value <= MAX_VALUE ) { dest.push_back( value ); return; } value -= MAX_VALUE; dest.push_back( MAX_VALUE ); } } | |
Просмотров: 7492 | Комментарии: 128 | | |
Всего комментариев: 10 | |||||||||||
| |||||||||||