0.9.9 API documenation
Functions
GLM_EXT_matrix_clip_space

Functions

template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustum (T left, T right, T bottom, T top, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumLH (T left, T right, T bottom, T top, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumLH_NO (T left, T right, T bottom, T top, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumLH_ZO (T left, T right, T bottom, T top, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumNO (T left, T right, T bottom, T top, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumRH (T left, T right, T bottom, T top, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumRH_NO (T left, T right, T bottom, T top, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumRH_ZO (T left, T right, T bottom, T top, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumZO (T left, T right, T bottom, T top, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > infinitePerspective (T fovy, T aspect, T near)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > infinitePerspectiveLH (T fovy, T aspect, T near)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > infinitePerspectiveRH (T fovy, T aspect, T near)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > ortho (T left, T right, T bottom, T top)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > ortho (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoLH (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoLH_NO (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoLH_ZO (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoNO (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoRH (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoRH_NO (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoRH_ZO (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoZO (T left, T right, T bottom, T top, T zNear, T zFar)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspective (T fovy, T aspect, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFov (T fov, T width, T height, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovLH (T fov, T width, T height, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovLH_NO (T fov, T width, T height, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovLH_ZO (T fov, T width, T height, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovNO (T fov, T width, T height, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovRH (T fov, T width, T height, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovRH_NO (T fov, T width, T height, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovRH_ZO (T fov, T width, T height, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovZO (T fov, T width, T height, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveLH (T fovy, T aspect, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveLH_NO (T fovy, T aspect, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveLH_ZO (T fovy, T aspect, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveNO (T fovy, T aspect, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveRH (T fovy, T aspect, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveRH_NO (T fovy, T aspect, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveRH_ZO (T fovy, T aspect, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveZO (T fovy, T aspect, T near, T far)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > tweakedInfinitePerspective (T fovy, T aspect, T near)
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > tweakedInfinitePerspective (T fovy, T aspect, T near, T ep)
 

Detailed Description

Defines functions that generate common transformation matrices.

The matrices generated by this extension use standard OpenGL fixed-function conventions. For example, the lookAt function generates a transform from world space into the specific eye space that the projective matrix functions (perspective, ortho, etc) are designed to expect. The OpenGL compatibility specifications defines the particular layout of this eye space.

Include <glm/ext/matrix_clip_space.hpp> to use the features of this extension.

See also
GLM_EXT_matrix_transform
GLM_EXT_matrix_projection

Function Documentation

◆ frustum()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::frustum ( left,
right,
bottom,
top,
near,
far 
)

Creates a frustum matrix with default handedness, using the default handedness and default near and far clip planes definition.

To change default handedness use GLM_FORCE_LEFT_HANDED. To change default near and far clip planes definition use GLM_FORCE_DEPTH_ZERO_TO_ONE.

Template Parameters
TA floating-point scalar type
See also
glFrustum man page

◆ frustumLH()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::frustumLH ( left,
right,
bottom,
top,
near,
far 
)

Creates a left handed frustum matrix.

If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Template Parameters
TA floating-point scalar type

◆ frustumLH_NO()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::frustumLH_NO ( left,
right,
bottom,
top,
near,
far 
)

Creates a left handed frustum matrix.

The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Template Parameters
TA floating-point scalar type

◆ frustumLH_ZO()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::frustumLH_ZO ( left,
right,
bottom,
top,
near,
far 
)

Creates a left handed frustum matrix.

The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition)

Template Parameters
TA floating-point scalar type

◆ frustumNO()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::frustumNO ( left,
right,
bottom,
top,
near,
far 
)

Creates a frustum matrix using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise.

The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Template Parameters
TA floating-point scalar type

◆ frustumRH()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::frustumRH ( left,
right,
bottom,
top,
near,
far 
)

Creates a right handed frustum matrix.

If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Template Parameters
TA floating-point scalar type

◆ frustumRH_NO()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::frustumRH_NO ( left,
right,
bottom,
top,
near,
far 
)

Creates a right handed frustum matrix.

The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Template Parameters
TA floating-point scalar type

◆ frustumRH_ZO()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::frustumRH_ZO ( left,
right,
bottom,
top,
near,
far 
)

Creates a right handed frustum matrix.

The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition)

Template Parameters
TA floating-point scalar type

◆ frustumZO()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::frustumZO ( left,
right,
bottom,
top,
near,
far 
)

Creates a frustum matrix using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise.

The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition)

Template Parameters
TA floating-point scalar type

◆ infinitePerspective()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::infinitePerspective ( fovy,
aspect,
near 
)

Creates a matrix for a symmetric perspective-view frustum with far plane at infinite with default handedness.

Parameters
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
Template Parameters
TA floating-point scalar type

◆ infinitePerspectiveLH()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::infinitePerspectiveLH ( fovy,
aspect,
near 
)

Creates a matrix for a left handed, symmetric perspective-view frustum with far plane at infinite.

Parameters
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
Template Parameters
TA floating-point scalar type

◆ infinitePerspectiveRH()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::infinitePerspectiveRH ( fovy,
aspect,
near 
)

Creates a matrix for a right handed, symmetric perspective-view frustum with far plane at infinite.

Parameters
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
Template Parameters
TA floating-point scalar type

◆ ortho() [1/2]

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::ortho ( left,
right,
bottom,
top 
)

Creates a matrix for projecting two-dimensional coordinates onto the screen.

Template Parameters
TA floating-point scalar type
See also
- glm::ortho(T const& left, T const& right, T const& bottom, T const& top, T const& zNear, T const& zFar)
gluOrtho2D man page

◆ ortho() [2/2]

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::ortho ( left,
right,
bottom,
top,
zNear,
zFar 
)

Creates a matrix for an orthographic parallel viewing volume, using the default handedness and default near and far clip planes definition.

To change default handedness use GLM_FORCE_LEFT_HANDED. To change default near and far clip planes definition use GLM_FORCE_DEPTH_ZERO_TO_ONE.

Template Parameters
TA floating-point scalar type
See also
- glm::ortho(T const& left, T const& right, T const& bottom, T const& top)
glOrtho man page

◆ orthoLH()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::orthoLH ( left,
right,
bottom,
top,
zNear,
zFar 
)

Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates.

If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Template Parameters
TA floating-point scalar type
See also
- glm::ortho(T const& left, T const& right, T const& bottom, T const& top)

◆ orthoLH_NO()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::orthoLH_NO ( left,
right,
bottom,
top,
zNear,
zFar 
)

Creates a matrix for an orthographic parallel viewing volume using right-handed coordinates.

The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Template Parameters
TA floating-point scalar type
See also
- glm::ortho(T const& left, T const& right, T const& bottom, T const& top)

◆ orthoLH_ZO()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::orthoLH_ZO ( left,
right,
bottom,
top,
zNear,
zFar 
)

Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates.

The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition)

Template Parameters
TA floating-point scalar type
See also
- glm::ortho(T const& left, T const& right, T const& bottom, T const& top)

◆ orthoNO()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::orthoNO ( left,
right,
bottom,
top,
zNear,
zFar 
)

Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise.

The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Template Parameters
TA floating-point scalar type
See also
- glm::ortho(T const& left, T const& right, T const& bottom, T const& top)

◆ orthoRH()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::orthoRH ( left,
right,
bottom,
top,
zNear,
zFar 
)

Creates a matrix for an orthographic parallel viewing volume, using right-handed coordinates.

If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Template Parameters
TA floating-point scalar type
See also
- glm::ortho(T const& left, T const& right, T const& bottom, T const& top)

◆ orthoRH_NO()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::orthoRH_NO ( left,
right,
bottom,
top,
zNear,
zFar 
)

Creates a matrix for an orthographic parallel viewing volume, using right-handed coordinates.

The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Template Parameters
TA floating-point scalar type
See also
- glm::ortho(T const& left, T const& right, T const& bottom, T const& top)

◆ orthoRH_ZO()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::orthoRH_ZO ( left,
right,
bottom,
top,
zNear,
zFar 
)

Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates.

The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition)

Template Parameters
TA floating-point scalar type
See also
- glm::ortho(T const& left, T const& right, T const& bottom, T const& top)

◆ orthoZO()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::orthoZO ( left,
right,
bottom,
top,
zNear,
zFar 
)

Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates.

The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition)

Template Parameters
TA floating-point scalar type
See also
- glm::ortho(T const& left, T const& right, T const& bottom, T const& top)

◆ perspective()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspective ( fovy,
aspect,
near,
far 
)

Creates a matrix for a symetric perspective-view frustum based on the default handedness and default near and far clip planes definition.

To change default handedness use GLM_FORCE_LEFT_HANDED. To change default near and far clip planes definition use GLM_FORCE_DEPTH_ZERO_TO_ONE.

Parameters
fovySpecifies the field of view angle in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type
See also
gluPerspective man page

◆ perspectiveFov()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveFov ( fov,
width,
height,
near,
far 
)

Builds a perspective projection matrix based on a field of view and the default handedness and default near and far clip planes definition.

To change default handedness use GLM_FORCE_LEFT_HANDED. To change default near and far clip planes definition use GLM_FORCE_DEPTH_ZERO_TO_ONE.

Parameters
fovExpressed in radians.
widthWidth of the viewport
heightHeight of the viewport
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type

◆ perspectiveFovLH()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveFovLH ( fov,
width,
height,
near,
far 
)

Builds a left handed perspective projection matrix based on a field of view.

If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Parameters
fovExpressed in radians.
widthWidth of the viewport
heightHeight of the viewport
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type

◆ perspectiveFovLH_NO()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveFovLH_NO ( fov,
width,
height,
near,
far 
)

Builds a perspective projection matrix based on a field of view using left-handed coordinates.

The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Parameters
fovExpressed in radians.
widthWidth of the viewport
heightHeight of the viewport
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type

◆ perspectiveFovLH_ZO()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveFovLH_ZO ( fov,
width,
height,
near,
far 
)

Builds a perspective projection matrix based on a field of view using left-handed coordinates.

The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition)

Parameters
fovExpressed in radians.
widthWidth of the viewport
heightHeight of the viewport
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type

◆ perspectiveFovNO()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveFovNO ( fov,
width,
height,
near,
far 
)

Builds a perspective projection matrix based on a field of view using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise.

The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Parameters
fovExpressed in radians.
widthWidth of the viewport
heightHeight of the viewport
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type

◆ perspectiveFovRH()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveFovRH ( fov,
width,
height,
near,
far 
)

Builds a right handed perspective projection matrix based on a field of view.

If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Parameters
fovExpressed in radians.
widthWidth of the viewport
heightHeight of the viewport
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type

◆ perspectiveFovRH_NO()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveFovRH_NO ( fov,
width,
height,
near,
far 
)

Builds a perspective projection matrix based on a field of view using right-handed coordinates.

The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Parameters
fovExpressed in radians.
widthWidth of the viewport
heightHeight of the viewport
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type

◆ perspectiveFovRH_ZO()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveFovRH_ZO ( fov,
width,
height,
near,
far 
)

Builds a perspective projection matrix based on a field of view using right-handed coordinates.

The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition)

Parameters
fovExpressed in radians.
widthWidth of the viewport
heightHeight of the viewport
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type

◆ perspectiveFovZO()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveFovZO ( fov,
width,
height,
near,
far 
)

Builds a perspective projection matrix based on a field of view using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise.

The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition)

Parameters
fovExpressed in radians.
widthWidth of the viewport
heightHeight of the viewport
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type

◆ perspectiveLH()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveLH ( fovy,
aspect,
near,
far 
)

Creates a matrix for a left handed, symetric perspective-view frustum.

If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Parameters
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type

◆ perspectiveLH_NO()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveLH_NO ( fovy,
aspect,
near,
far 
)

Creates a matrix for a left handed, symetric perspective-view frustum.

The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Parameters
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type

◆ perspectiveLH_ZO()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveLH_ZO ( fovy,
aspect,
near,
far 
)

Creates a matrix for a left handed, symetric perspective-view frustum.

The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition)

Parameters
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type

◆ perspectiveNO()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveNO ( fovy,
aspect,
near,
far 
)

Creates a matrix for a symetric perspective-view frustum using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise.

The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Parameters
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type

◆ perspectiveRH()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveRH ( fovy,
aspect,
near,
far 
)

Creates a matrix for a right handed, symetric perspective-view frustum.

If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Parameters
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type

◆ perspectiveRH_NO()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveRH_NO ( fovy,
aspect,
near,
far 
)

Creates a matrix for a right handed, symetric perspective-view frustum.

The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Parameters
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type

◆ perspectiveRH_ZO()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveRH_ZO ( fovy,
aspect,
near,
far 
)

Creates a matrix for a right handed, symetric perspective-view frustum.

The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition)

Parameters
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type

◆ perspectiveZO()

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveZO ( fovy,
aspect,
near,
far 
)

Creates a matrix for a symetric perspective-view frustum using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise.

The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition)

Parameters
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type

◆ tweakedInfinitePerspective() [1/2]

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::tweakedInfinitePerspective ( fovy,
aspect,
near 
)

Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping.

Parameters
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
Template Parameters
TA floating-point scalar type

◆ tweakedInfinitePerspective() [2/2]

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::tweakedInfinitePerspective ( fovy,
aspect,
near,
ep 
)

Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping.

Parameters
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
epEpsilon
Template Parameters
TA floating-point scalar type