Изменение функций-конструкторов для SLERP

This commit is contained in:
Andrey Pokidov 2025-06-05 00:30:40 +07:00
parent 75cd82de6a
commit 880673a17a
3 changed files with 95 additions and 95 deletions

View file

@ -53,13 +53,47 @@ inline void bgc_slerp_reset_fp64(BgcSlerpFP64* slerp)
slerp->radians = 0.0;
}
void bgc_slerp_make_full_fp32(const BgcVersorFP32* start, const BgcVersorFP32* end, BgcSlerpFP32* slerp);
void bgc_slerp_make_fp32(const BgcVersorFP32* start, const BgcVersorFP32* augment, BgcSlerpFP32* slerp);
void bgc_slerp_make_full_fp64(const BgcVersorFP64* start, const BgcVersorFP64* end, BgcSlerpFP64* slerp);
void bgc_slerp_make_fp64(const BgcVersorFP64* start, const BgcVersorFP64* augment, BgcSlerpFP64* slerp);
void bgc_slerp_make_shortened_fp32(const BgcVersorFP32* start, const BgcVersorFP32* end, BgcSlerpFP32* slerp);
inline void bgc_slerp_make_full_fp32(const BgcVersorFP32* start, const BgcVersorFP32* end, BgcSlerpFP32* slerp)
{
BgcVersorFP32 augment;
void bgc_slerp_make_shortened_fp64(const BgcVersorFP64* start, const BgcVersorFP64* end, BgcSlerpFP64* slerp);
bgc_versor_exclude_fp32(end, start, &augment);
bgc_slerp_make_fp32(start, &augment, slerp);
}
inline void bgc_slerp_make_full_fp64(const BgcVersorFP64* start, const BgcVersorFP64* end, BgcSlerpFP64* slerp)
{
BgcVersorFP64 augment;
bgc_versor_exclude_fp64(end, start, &augment);
bgc_slerp_make_fp64(start, &augment, slerp);
}
inline void bgc_slerp_make_shortened_fp32(const BgcVersorFP32* start, const BgcVersorFP32* end, BgcSlerpFP32* slerp)
{
BgcVersorFP32 augment;
bgc_versor_exclude_fp32(end, start, &augment);
bgc_versor_shorten_fp32(&augment, &augment);
bgc_slerp_make_fp32(start, &augment, slerp);
}
inline void bgc_slerp_make_shortened_fp64(const BgcVersorFP64* start, const BgcVersorFP64* end, BgcSlerpFP64* slerp)
{
BgcVersorFP64 augment;
bgc_versor_exclude_fp64(end, start, &augment);
bgc_versor_shorten_fp64(&augment, &augment);
bgc_slerp_make_fp64(start, &augment, slerp);
}
inline void bgc_slerp_get_turn_for_phase_fp32(const BgcSlerpFP32* slerp, const float phase, BgcVersorFP32* result)
{