initial commit
This commit is contained in:
		
							
								
								
									
										69
									
								
								lib/glm/gtx/matrix_transform_2d.inl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								lib/glm/gtx/matrix_transform_2d.inl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,69 @@ | ||||
| /// @ref gtx_matrix_transform_2d | ||||
| /// @file glm/gtc/matrix_transform_2d.inl | ||||
| /// @author Miguel Ángel Pérez Martínez | ||||
|  | ||||
| #include "../trigonometric.hpp" | ||||
|  | ||||
| namespace glm | ||||
| { | ||||
| 	 | ||||
| 	template <typename T, precision P>  | ||||
| 	GLM_FUNC_QUALIFIER tmat3x3<T, P> translate( | ||||
| 		tmat3x3<T, P> const & m, | ||||
| 		tvec2<T, P> const & v) | ||||
| 	{ | ||||
| 		tmat3x3<T, P> Result(m); | ||||
| 		Result[2] = m[0] * v[0] + m[1] * v[1] + m[2]; | ||||
| 		return Result; | ||||
| 	} | ||||
|  | ||||
|  | ||||
| 	template <typename T, precision P>  | ||||
| 	GLM_FUNC_QUALIFIER tmat3x3<T, P> rotate( | ||||
| 		tmat3x3<T, P> const & m, | ||||
| 		T angle) | ||||
| 	{ | ||||
| 		T const a = angle; | ||||
| 		T const c = cos(a); | ||||
| 		T const s = sin(a); | ||||
|  | ||||
| 		tmat3x3<T, P> Result(uninitialize); | ||||
| 		Result[0] = m[0] * c + m[1] * s; | ||||
| 		Result[1] = m[0] * -s + m[1] * c; | ||||
| 		Result[2] = m[2]; | ||||
| 		return Result; | ||||
| 	} | ||||
|  | ||||
| 	template <typename T, precision P>  | ||||
| 	GLM_FUNC_QUALIFIER tmat3x3<T, P> scale( | ||||
| 		tmat3x3<T, P> const & m, | ||||
| 		tvec2<T, P> const & v) | ||||
| 	{ | ||||
| 		tmat3x3<T, P> Result(uninitialize); | ||||
| 		Result[0] = m[0] * v[0]; | ||||
| 		Result[1] = m[1] * v[1]; | ||||
| 		Result[2] = m[2]; | ||||
| 		return Result; | ||||
| 	} | ||||
|  | ||||
| 	template <typename T, precision P>  | ||||
| 	GLM_FUNC_QUALIFIER tmat3x3<T, P> shearX( | ||||
| 		tmat3x3<T, P> const & m, | ||||
| 		T y) | ||||
| 	{ | ||||
| 		tmat3x3<T, P> Result(1); | ||||
| 		Result[0][1] = y; | ||||
| 		return m * Result; | ||||
| 	} | ||||
|  | ||||
| 	template <typename T, precision P>  | ||||
| 	GLM_FUNC_QUALIFIER tmat3x3<T, P> shearY( | ||||
| 		tmat3x3<T, P> const & m, | ||||
| 		T x) | ||||
| 	{ | ||||
| 		tmat3x3<T, P> Result(1); | ||||
| 		Result[1][0] = x; | ||||
| 		return m * Result; | ||||
| 	} | ||||
|  | ||||
| }//namespace glm | ||||
		Reference in New Issue
	
	Block a user
	 izenynn
					izenynn