- Main Page
- Namespaces
- Files

- File List

# matrix_projection.hpp

    00001
    00002 // OpenGL Mathematics Copyright (c) 2005 - 2010 G-Truc Creation (www.g-truc.net)
    00004 // Created : 2009-04-29
    00005 // Updated : 2010-02-07
    00006 // Licence : This source is under MIT License
    00007 // File    : glm/gtc/matrix_projection.hpp
    00009 // Dependency:
    00010 // - GLM core
    00011 // - GLM_GTC_matrix_operation
    00013
    00014 #ifndef glm_gtc_matrix_projection
    00015 #define glm_gtc_matrix_projection
    00016
    00017 // Dependency:
    00018 #include "../glm.hpp"
    00019 #include "../gtc/matrix_operation.hpp"
    00020
    00021 namespace glm
    00022 {
    00023         namespace test{
    00024                 bool main_gtc_matrix_projection();
    00025         }//namespace test
    00026
    00027     namespace gtc{
    00029     namespace matrix_projection
    00030     {
    00031                 using namespace gtc::matrix_operation;
    00032
    00035         template <typename T>
    00036                 detail::tmat4x4<T> ortho(
    00037                         T const & left,
    00038                         T const & right,
    00039                         T const & bottom,
    00040                         T const & top);
    00041
    00044                 template <typename T>
    00045                 detail::tmat4x4<T> ortho(
    00046                         T const & left,
    00047                         T const & right,
    00048                         T const & bottom,
    00049                         T const & top,
    00050                         T const & zNear,
    00051                         T const & zFar);
    00052
    00055                 template <typename T>
    00056                 detail::tmat4x4<T> frustum(
    00057                         T const & left,
    00058                         T const & right,
    00059                         T const & bottom,
    00060                         T const & top,
    00061                         T const & nearVal,
    00062                         T const & farVal);
    00063
    00066                 template <typename T>
    00067                 detail::tmat4x4<T> perspective(
    00068                         T const & fovy,
    00069                         T const & aspect,
    00070                         T const & zNear,
    00071                         T const & zFar);
    00072
    00075                 template <typename T, typename U>
    00076                 detail::tvec3<T> project(
    00077                         detail::tvec3<T> const & obj,
    00078                         detail::tmat4x4<T> const & model,
    00079                         detail::tmat4x4<T> const & proj,
    00080                         detail::tvec4<U> const & viewport);
    00081
    00084                 template <typename T, typename U>
    00085                 detail::tvec3<T> unProject(
    00086                         detail::tvec3<T> const & win,
    00087                         detail::tmat4x4<T> const & model,
    00088                         detail::tmat4x4<T> const & proj,
    00089                         detail::tvec4<U> const & viewport);
    00090
    00091     }//namespace matrix_projection
    00092     }//namespace gtc
    00093 }//namespace glm
    00094
    00095 #include "matrix_projection.inl"
    00096
    00097 namespace glm{using namespace gtc::matrix_projection;}
    00098
    00099 #endif//glm_gtc_matrix_projection