Files
projectm/vendor/glm/gtx/matrix_operation.inl
Benedikt Rötsch d9fb429abd GLSL and emscripten - JavaScript and WebGL support (#92)
* add glm lib in vendor folder

* fix makefile

* add more help and context to emscripten readme

* add correct output parameter to emcc

* add how to restart the process to the readme

* simplify emscripten compilation

* apply patch

* fix blur shaders to work with WebGL
2019-05-11 19:07:49 +03:00

119 lines
2.2 KiB
C++
Executable File

/// @ref gtx_matrix_operation
/// @file glm/gtx/matrix_operation.inl
namespace glm
{
template<typename T, qualifier Q>
GLM_FUNC_QUALIFIER mat<2, 2, T, Q> diagonal2x2
(
vec<2, T, Q> const& v
)
{
mat<2, 2, T, Q> Result(static_cast<T>(1));
Result[0][0] = v[0];
Result[1][1] = v[1];
return Result;
}
template<typename T, qualifier Q>
GLM_FUNC_QUALIFIER mat<2, 3, T, Q> diagonal2x3
(
vec<2, T, Q> const& v
)
{
mat<2, 3, T, Q> Result(static_cast<T>(1));
Result[0][0] = v[0];
Result[1][1] = v[1];
return Result;
}
template<typename T, qualifier Q>
GLM_FUNC_QUALIFIER mat<2, 4, T, Q> diagonal2x4
(
vec<2, T, Q> const& v
)
{
mat<2, 4, T, Q> Result(static_cast<T>(1));
Result[0][0] = v[0];
Result[1][1] = v[1];
return Result;
}
template<typename T, qualifier Q>
GLM_FUNC_QUALIFIER mat<3, 2, T, Q> diagonal3x2
(
vec<2, T, Q> const& v
)
{
mat<3, 2, T, Q> Result(static_cast<T>(1));
Result[0][0] = v[0];
Result[1][1] = v[1];
return Result;
}
template<typename T, qualifier Q>
GLM_FUNC_QUALIFIER mat<3, 3, T, Q> diagonal3x3
(
vec<3, T, Q> const& v
)
{
mat<3, 3, T, Q> Result(static_cast<T>(1));
Result[0][0] = v[0];
Result[1][1] = v[1];
Result[2][2] = v[2];
return Result;
}
template<typename T, qualifier Q>
GLM_FUNC_QUALIFIER mat<3, 4, T, Q> diagonal3x4
(
vec<3, T, Q> const& v
)
{
mat<3, 4, T, Q> Result(static_cast<T>(1));
Result[0][0] = v[0];
Result[1][1] = v[1];
Result[2][2] = v[2];
return Result;
}
template<typename T, qualifier Q>
GLM_FUNC_QUALIFIER mat<4, 4, T, Q> diagonal4x4
(
vec<4, T, Q> const& v
)
{
mat<4, 4, T, Q> Result(static_cast<T>(1));
Result[0][0] = v[0];
Result[1][1] = v[1];
Result[2][2] = v[2];
Result[3][3] = v[3];
return Result;
}
template<typename T, qualifier Q>
GLM_FUNC_QUALIFIER mat<4, 3, T, Q> diagonal4x3
(
vec<3, T, Q> const& v
)
{
mat<4, 3, T, Q> Result(static_cast<T>(1));
Result[0][0] = v[0];
Result[1][1] = v[1];
Result[2][2] = v[2];
return Result;
}
template<typename T, qualifier Q>
GLM_FUNC_QUALIFIER mat<4, 2, T, Q> diagonal4x2
(
vec<2, T, Q> const& v
)
{
mat<4, 2, T, Q> Result(static_cast<T>(1));
Result[0][0] = v[0];
Result[1][1] = v[1];
return Result;
}
}//namespace glm