Back to Mame

0.9.8: matrix_transform.hpp Source File

3rdparty/glm/doc/api/a00070_source.html

latest13.7 KB
Original Source

| | 0.9.8 |

matrix_transform.hpp

Go to the documentation of this file.

1

21 #pragma once

22

23 // Dependencies

24 #include "../mat4x4.hpp"

25 #include "../vec2.hpp"

26 #include "../vec3.hpp"

27 #include "../vec4.hpp"

28 #include "../gtc/constants.hpp"

29

30 #if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)

31 # pragma message("GLM: GLM_GTC_matrix_transform extension included")

32 #endif

33

34 namespace glm

35 {

38

57template <typename T, precision P>

58 GLM_FUNC_DECL tmat4x4<T, P> translate(

59 tmat4x4<T, P> const & m,

60 tvec3<T, P> const & v);

61

71template <typename T, precision P>

72 GLM_FUNC_DECL tmat4x4<T, P> rotate(

73 tmat4x4<T, P> const & m,

74 T angle,

75 tvec3<T, P> const & axis);

76

85template <typename T, precision P>

86 GLM_FUNC_DECL tmat4x4<T, P> scale(

87 tmat4x4<T, P> const & m,

88 tvec3<T, P> const & v);

89

101template <typename T>

102 GLM_FUNC_DECL tmat4x4<T, defaultp> ortho(

103 T left,

104 T right,

105 T bottom,

106 T top,

107 T zNear,

108 T zFar);

109

121template <typename T>

122 GLM_FUNC_DECL tmat4x4<T, defaultp> orthoLH(

123 T left,

124 T right,

125 T bottom,

126 T top,

127 T zNear,

128 T zFar);

129

141template <typename T>

142 GLM_FUNC_DECL tmat4x4<T, defaultp> orthoRH(

143 T left,

144 T right,

145 T bottom,

146 T top,

147 T zNear,

148 T zFar);

149

159template <typename T>

160 GLM_FUNC_DECL tmat4x4<T, defaultp> ortho(

161 T left,

162 T right,

163 T bottom,

164 T top);

165

176template <typename T>

177 GLM_FUNC_DECL tmat4x4<T, defaultp> frustum(

178 T left,

179 T right,

180 T bottom,

181 T top,

182 T near,

183 T far);

184

195template <typename T>

196 GLM_FUNC_DECL tmat4x4<T, defaultp> frustumLH(

197 T left,

198 T right,

199 T bottom,

200 T top,

201 T near,

202 T far);

203

214template <typename T>

215 GLM_FUNC_DECL tmat4x4<T, defaultp> frustumRH(

216 T left,

217 T right,

218 T bottom,

219 T top,

220 T near,

221 T far);

222

231template <typename T>

232 GLM_FUNC_DECL tmat4x4<T, defaultp> perspective(

233 T fovy,

234 T aspect,

235 T near,

236 T far);

237

246template <typename T>

247 GLM_FUNC_DECL tmat4x4<T, defaultp> perspectiveRH(

248 T fovy,

249 T aspect,

250 T near,

251 T far);

252

261template <typename T>

262 GLM_FUNC_DECL tmat4x4<T, defaultp> perspectiveLH(

263 T fovy,

264 T aspect,

265 T near,

266 T far);

267

277template <typename T>

278 GLM_FUNC_DECL tmat4x4<T, defaultp> perspectiveFov(

279 T fov,

280 T width,

281 T height,

282 T near,

283 T far);

284

294template <typename T>

295 GLM_FUNC_DECL tmat4x4<T, defaultp> perspectiveFovRH(

296 T fov,

297 T width,

298 T height,

299 T near,

300 T far);

301

311template <typename T>

312 GLM_FUNC_DECL tmat4x4<T, defaultp> perspectiveFovLH(

313 T fov,

314 T width,

315 T height,

316 T near,

317 T far);

318

326template <typename T>

327 GLM_FUNC_DECL tmat4x4<T, defaultp> infinitePerspective(

328 T fovy, T aspect, T near);

329

337template <typename T>

338 GLM_FUNC_DECL tmat4x4<T, defaultp> infinitePerspectiveLH(

339 T fovy, T aspect, T near);

340

348template <typename T>

349 GLM_FUNC_DECL tmat4x4<T, defaultp> infinitePerspectiveRH(

350 T fovy, T aspect, T near);

351

359template <typename T>

360 GLM_FUNC_DECL tmat4x4<T, defaultp> tweakedInfinitePerspective(

361 T fovy, T aspect, T near);

362

371template <typename T>

372 GLM_FUNC_DECL tmat4x4<T, defaultp> tweakedInfinitePerspective(

373 T fovy, T aspect, T near, T ep);

374

385template <typename T, typename U, precision P>

386 GLM_FUNC_DECL tvec3<T, P> project(

387 tvec3<T, P> const & obj,

388 tmat4x4<T, P> const & model,

389 tmat4x4<T, P> const & proj,

390 tvec4<U, P> const & viewport);

391

402template <typename T, typename U, precision P>

403 GLM_FUNC_DECL tvec3<T, P> unProject(

404 tvec3<T, P> const & win,

405 tmat4x4<T, P> const & model,

406 tmat4x4<T, P> const & proj,

407 tvec4<U, P> const & viewport);

408

417template <typename T, precision P, typename U>

418 GLM_FUNC_DECL tmat4x4<T, P> pickMatrix(

419 tvec2<T, P> const & center,

420 tvec2<T, P> const & delta,

421 tvec4<U, P> const & viewport);

422

430template <typename T, precision P>

431 GLM_FUNC_DECL tmat4x4<T, P> lookAt(

432 tvec3<T, P> const & eye,

433 tvec3<T, P> const & center,

434 tvec3<T, P> const & up);

435

443template <typename T, precision P>

444 GLM_FUNC_DECL tmat4x4<T, P> lookAtRH(

445 tvec3<T, P> const & eye,

446 tvec3<T, P> const & center,

447 tvec3<T, P> const & up);

448

456template <typename T, precision P>

457 GLM_FUNC_DECL tmat4x4<T, P> lookAtLH(

458 tvec3<T, P> const & eye,

459 tvec3<T, P> const & center,

460 tvec3<T, P> const & up);

461

463 }//namespace glm

464

465 #include "matrix_transform.inl"

glm::infinitePerspectiveRH

GLM_FUNC_DECL tmat4x4< T, defaultp > infinitePerspectiveRH(T fovy, T aspect, T near)

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

glm::proj

GLM_FUNC_DECL vecType proj(vecType const &x, vecType const &Normal)

Projects x on Normal.

glm::lookAtLH

GLM_FUNC_DECL tmat4x4< T, P > lookAtLH(tvec3< T, P > const &eye, tvec3< T, P > const &center, tvec3< T, P > const &up)

Build a left handed look at view matrix.

glm::frustum

GLM_FUNC_DECL tmat4x4< T, defaultp > frustum(T left, T right, T bottom, T top, T near, T far)

Creates a frustum matrix with default handedness.

glm::infinitePerspective

GLM_FUNC_DECL tmat4x4< T, defaultp > infinitePerspective(T fovy, T aspect, T near)

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

glm::lookAt

GLM_FUNC_DECL tmat4x4< T, P > lookAt(tvec3< T, P > const &eye, tvec3< T, P > const &center, tvec3< T, P > const &up)

Build a look at view matrix based on the default handedness.

glm::rotate

GLM_FUNC_DECL tmat4x4< T, P > rotate(tmat4x4< T, P > const &m, T angle, tvec3< T, P > const &axis)

Builds a rotation 4 * 4 matrix created from an axis vector and an angle.

glm::project

GLM_FUNC_DECL tvec3< T, P > project(tvec3< T, P > const &obj, tmat4x4< T, P > const &model, tmat4x4< T, P > const &proj, tvec4< U, P > const &viewport)

Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates.

glm::perspectiveFovLH

GLM_FUNC_DECL tmat4x4< T, defaultp > perspectiveFovLH(T fov, T width, T height, T near, T far)

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

glm

Definition: _noise.hpp:11

glm::lookAtRH

GLM_FUNC_DECL tmat4x4< T, P > lookAtRH(tvec3< T, P > const &eye, tvec3< T, P > const &center, tvec3< T, P > const &up)

Build a right handed look at view matrix.

glm::perspectiveFovRH

GLM_FUNC_DECL tmat4x4< T, defaultp > perspectiveFovRH(T fov, T width, T height, T near, T far)

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

glm::perspectiveFov

GLM_FUNC_DECL tmat4x4< T, defaultp > perspectiveFov(T fov, T width, T height, T near, T far)

Builds a perspective projection matrix based on a field of view and the default handedness.

glm::tweakedInfinitePerspective

GLM_FUNC_DECL tmat4x4< T, defaultp > tweakedInfinitePerspective(T fovy, T aspect, T near, T ep)

Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics har...

glm::orthoLH

GLM_FUNC_DECL tmat4x4< T, defaultp > orthoLH(T left, T right, T bottom, T top, T zNear, T zFar)

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

glm::orthoRH

GLM_FUNC_DECL tmat4x4< T, defaultp > orthoRH(T left, T right, T bottom, T top, T zNear, T zFar)

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

glm::translate

GLM_FUNC_DECL tmat4x4< T, P > translate(tmat4x4< T, P > const &m, tvec3< T, P > const &v)

Builds a translation 4 * 4 matrix created from a vector of 3 components.

glm::axis

GLM_FUNC_DECL tvec3< T, P > axis(tquat< T, P > const &x)

Returns the q rotation axis.

glm::scale

GLM_FUNC_DECL tmat4x4< T, P > scale(tmat4x4< T, P > const &m, tvec3< T, P > const &v)

Builds a scale 4 * 4 matrix created from 3 scalars.

glm::perspective

GLM_FUNC_DECL tmat4x4< T, defaultp > perspective(T fovy, T aspect, T near, T far)

Creates a matrix for a symetric perspective-view frustum based on the default handedness.

glm::infinitePerspectiveLH

GLM_FUNC_DECL tmat4x4< T, defaultp > infinitePerspectiveLH(T fovy, T aspect, T near)

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

glm::angle

GLM_FUNC_DECL T angle(tquat< T, P > const &x)

Returns the quaternion rotation angle.

glm::frustumRH

GLM_FUNC_DECL tmat4x4< T, defaultp > frustumRH(T left, T right, T bottom, T top, T near, T far)

Creates a right handed frustum matrix.

glm::unProject

GLM_FUNC_DECL tvec3< T, P > unProject(tvec3< T, P > const &win, tmat4x4< T, P > const &model, tmat4x4< T, P > const &proj, tvec4< U, P > const &viewport)

Map the specified window coordinates (win.x, win.y, win.z) into object coordinates.

glm::perspectiveRH

GLM_FUNC_DECL tmat4x4< T, defaultp > perspectiveRH(T fovy, T aspect, T near, T far)

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

glm::pickMatrix

GLM_FUNC_DECL tmat4x4< T, P > pickMatrix(tvec2< T, P > const &center, tvec2< T, P > const &delta, tvec4< U, P > const &viewport)

Define a picking region.

glm::frustumLH

GLM_FUNC_DECL tmat4x4< T, defaultp > frustumLH(T left, T right, T bottom, T top, T near, T far)

Creates a left handed frustum matrix.

glm::perspectiveLH

GLM_FUNC_DECL tmat4x4< T, defaultp > perspectiveLH(T fovy, T aspect, T near, T far)

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

glm::ortho

GLM_FUNC_DECL tmat4x4< T, defaultp > ortho(T left, T right, T bottom, T top)

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


Generated by 1.8.10