From 43821b0cffc5aa419c0218992f06f8962ae54a13 Mon Sep 17 00:00:00 2001 From: Frederico Linhares Date: Wed, 8 May 2024 17:56:29 -0300 Subject: refa Rename graphical engine to BluCat --- src/vk/animation/frame.hpp | 85 ---------------------------------------------- 1 file changed, 85 deletions(-) delete mode 100644 src/vk/animation/frame.hpp (limited to 'src/vk/animation/frame.hpp') diff --git a/src/vk/animation/frame.hpp b/src/vk/animation/frame.hpp deleted file mode 100644 index 953a6a6..0000000 --- a/src/vk/animation/frame.hpp +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright 2022-2023 Frederico de Oliveira Linhares - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef CANDY_GEAR_VK_FRAME_H -#define CANDY_GEAR_VK_FRAME_H 1 - -#include - -#include "../core.hpp" - -namespace VK -{ - -template -struct Frame -{ - const T value; - const float timestamp; - - Frame(T value, float timestamp): - value{value}, - timestamp{timestamp} - { - } - -}; - -template -struct Channel -{ - int current_index{0}; - std::vector> key_frames; - - inline glm::mat4 - interpolate( - float animation_time, - glm::mat4 (*single_frame)(T frame), - glm::mat4 (*multiple_frames)(T current_frame, T next_frame, float scale)) - { - if(this->key_frames.size() == 1) - return single_frame(this->key_frames[0].value); - else - { - while(animation_time > this->key_frames[current_index].timestamp) - this->current_index++; - - float scale_factor; - Frame *previous_frame; - Frame *next_frame{&(this->key_frames[this->current_index])}; - if(this->current_index == 0) - { - previous_frame = &(this->key_frames[this->key_frames.size() - 1]); - float midway_length{animation_time - 0}; - float frames_diff{next_frame->timestamp - 0}; - scale_factor = midway_length / frames_diff; - } - else - { - previous_frame = &(this->key_frames[this->current_index - 1]); - float midway_length{animation_time - previous_frame->timestamp}; - float frames_diff{next_frame->timestamp - previous_frame->timestamp}; - scale_factor = midway_length / frames_diff; - } - - return multiple_frames( - previous_frame->value, next_frame->value, scale_factor); - } - }; -}; - -} -#endif /* CANDY_GEAR_VK_FRAME_H */ -- cgit v1.2.3