INNER CODE UNIT · C++

base_velocity_iter

trillek-team/tec · client/client-game-state-queue.cpp:88

				auto base_velocity_iter = this->base_state.velocities.find(velocity.first);
				if (base_velocity_iter != this->base_state.velocities.end()) {
					this->interpolated_state.velocities[velocity.first].linear =
							glm::lerp(base_velocity_iter->second.linear, velocity.second.linear, lerp_percent);
					this->interpolated_state.velocities[velocity.first].angular =
							glm::lerp(base_velocity_iter->second.angular, velocity.second.angular, lerp_percent);
				}
				else {
					this->interpolated_state.velocities[velocity.first].linear = velocity.second.linear;
					this->interpolated_state.velocities[velocity.first].angular = velocity.second.angular;
				}
			}
			// Quaternions, we use a slerp here instead
			for (auto orientation : to_state.orientations) {
				auto base_orientation_iter = this->base_state.orientations.find(orientation.first);
				if (base_orientation_iter != this->base_state.orientations.end()) {
					this->interpolated_state.orientations[orientation.first].value =
							glm::slerp(base_orientation_iter->second.value, orientation.second.value, lerp_percent);

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…