Изменение функций-конструкторов для SLERP
This commit is contained in:
parent
75cd82de6a
commit
880673a17a
3 changed files with 95 additions and 95 deletions
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue