mirror of
https://github.com/g-truc/glm.git
synced 2024-12-01 20:24:38 +00:00
Added GLM_GTC_swizzle
This commit is contained in:
parent
872f23c5a9
commit
d5c4dc0aeb
@ -24,11 +24,11 @@ namespace glm
|
|||||||
|
|
||||||
namespace gtc{
|
namespace gtc{
|
||||||
//! GLM_GTC_swizzle extension
|
//! GLM_GTC_swizzle extension
|
||||||
namespace glm_gtc_swizzle{
|
namespace swizzle{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}//namespace closest_point
|
}//namespace swizzle
|
||||||
}//namespace gtc
|
}//namespace gtc
|
||||||
}//namespace glm
|
}//namespace glm
|
||||||
|
|
||||||
|
@ -3,58 +3,48 @@ namespace gtc{
|
|||||||
namespace glm_gtc_swizzle
|
namespace glm_gtc_swizzle
|
||||||
{
|
{
|
||||||
template <typename T>
|
template <typename T>
|
||||||
inline typename tvec4<T>::value_type swizzle
|
inline T swizzle
|
||||||
(
|
(
|
||||||
detail::tvec4<T> const & v,
|
detail::tvec4<T> const & v,
|
||||||
comp x
|
comp x
|
||||||
) const
|
)
|
||||||
{
|
{
|
||||||
return v[x];
|
return v[x];
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
inline tvec2<T> tvec4<T>::swizzle
|
inline detail::tvec2<T> swizzle
|
||||||
(
|
(
|
||||||
detail::tvec4<T> const & v,
|
detail::tvec4<T> const & v,
|
||||||
comp x, comp y
|
comp x, comp y
|
||||||
) const
|
)
|
||||||
{
|
{
|
||||||
return tvec2<T>(
|
return detail::tvec2<T>(
|
||||||
(*this)[x],
|
v[x],
|
||||||
(*this)[y]);
|
v[y]);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
inline tvec3<T> tvec4<T>::swizzle
|
inline detail::tvec3<T> swizzle
|
||||||
(
|
(
|
||||||
detail::tvec4<T> const & v,
|
detail::tvec4<T> const & v,
|
||||||
comp x, comp y, comp z
|
comp x, comp y, comp z
|
||||||
) const
|
)
|
||||||
{
|
{
|
||||||
return tvec3<T>(
|
return detail::tvec3<T>(
|
||||||
(*this)[x],
|
v[x],
|
||||||
(*this)[y],
|
v[y],
|
||||||
(*this)[z]);
|
v[z]);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
inline tvec4<T> tvec4<T>::swizzle
|
inline detail::tref4<T> swizzle
|
||||||
(
|
|
||||||
detail::tvec4<T> const & v,
|
|
||||||
comp x, comp y, comp z, comp w
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
return tvec4<T>(v[x], v[y], v[z], v[w]);
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T>
|
|
||||||
inline tref4<T> swizzle
|
|
||||||
(
|
(
|
||||||
detail::tvec4<T> const & v,
|
detail::tvec4<T> const & v,
|
||||||
comp x, comp y, comp z, comp w
|
comp x, comp y, comp z, comp w
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return tref4<T>(v[x], v[y], v[z], v[w]);
|
return detail::tref4<T>(v[x], v[y], v[z], v[w]);
|
||||||
}
|
}
|
||||||
|
|
||||||
}//namespace glm_gtc_swizzle
|
}//namespace glm_gtc_swizzle
|
||||||
|
Loading…
Reference in New Issue
Block a user