|
Wildvine Engine
Referencia Doxygen del codigo propio de Wildvine Engine.
|
#include <Camera.h>
Diagrama de colaboración de Camera:Métodos públicos | |
| Camera () | |
| EU::Vector3 | FromXM (FXMVECTOR v) |
| float | getAspect () const |
| float | getFarZ () const |
| EU::Vector3 | GetForward () const |
| float | getFovY () const |
| Devuelve parámetros de proyección (útil para UI/debug). | |
| float | getNearZ () const |
| EU::Vector3 & | getPosition () |
| EU::Vector3 | getPosition () const |
| Obtiene la posición en mundo. | |
| XMMATRIX | getProj () const |
| Matriz Projection (vista->clip). | |
| EU::Vector3 | GetRight () const |
| Vectores base (mundo) de la cámara. | |
| EU::Vector3 | GetUp () const |
| XMMATRIX | getView () const |
| Matriz View (mundo->vista). | |
| XMMATRIX | GetViewNoTranslation () const |
| View sin traslación (solo rotación). | |
| void | lookAt (const EU::Vector3 &pos, const EU::Vector3 &target, const EU::Vector3 &up=EU::Vector3(0, 1, 0)) |
| Fuerza la cámara a mirar a un objetivo (LH). | |
| void | pitch (float radians) |
| Rotación sobre el eje Right local (pitch). | |
| void | setLens (float fovYRadians, float aspectRatio, float nearPlane, float farPlane) |
| Configura la proyección en perspectiva (LH). | |
| void | setPosition (const EU::Vector3 &pos) |
| Define posición en mundo. | |
| void | setPosition (float x, float y, float z) |
| Define posición en mundo. | |
| void | strafe (float d) |
| Movimiento relativo a la cámara (izquierda/derecha). | |
| void | updateViewMatrix () |
| Recalcula la matriz View si es necesario. | |
| void | walk (float d) |
| Movimiento relativo a la cámara (adelante/atrás). | |
| void | yaw (float radians) |
| Rotación sobre el eje Y global (yaw). | |
| ~Camera ()=default | |
Atributos privados | |
| float | m_aspectRatio = 1.0f |
| The aspect ratio of the camera's view (width divided by height). | |
| float | m_farPlane = 1000.0f |
| The distance to the far clipping plane. | |
| EU::Vector3 | m_forward { 0.0f, 0.0f, 1.0f } |
| The forward vector of the camera's orthonormal basis. | |
| float | m_fovY { XM_PIDIV4 } |
| The field of view (FOV) angle in radians. | |
| float | m_nearPlane = 0.01f |
| The distance to the near clipping plane. | |
| EU::Vector3 | m_position |
| The position of the camera in world space. | |
| XMFLOAT4X4 | m_proj {} |
| EU::Vector3 | m_right { 1.0f, 0.0f, 0.0f } |
| The right vector of the camera's orthonormal basis. | |
| EU::Vector3 | m_up { 0.0f, 1.0f, 0.0f } |
| The up vector of the camera's orthonormal basis. | |
| XMFLOAT4X4 | m_view {} |
| bool | m_viewDirty = true |
| Flag indicating whether the view matrix needs to be recalculated. | |
| Camera::Camera | ( | ) |
Definición en la lÃnea 8 del archivo Camera.cpp.
|
default |
|
inline |
|
inline |
Definición en la lÃnea 139 del archivo Camera.h.
Hace referencia a m_aspectRatio.
|
inline |
Definición en la lÃnea 141 del archivo Camera.h.
Hace referencia a m_farPlane.
|
inline |
|
inline |
|
inline |
Definición en la lÃnea 140 del archivo Camera.h.
Hace referencia a m_nearPlane.
|
inline |
Definición en la lÃnea 48 del archivo Camera.h.
Hace referencia a m_position.
|
inline |
Definición en la lÃnea 45 del archivo Camera.h.
Hace referencia a m_position.
Referenciado por SceneGraph::gatherRenderScene(), BaseApp::update(), ForwardRenderer::updateLightMatrices() y ForwardRenderer::updatePerFrame().
|
inline |
Definición en la lÃnea 119 del archivo Camera.h.
Hace referencia a m_proj.
Referenciado por GUI::editTransform(), Skybox::update(), BaseApp::update() y ForwardRenderer::updatePerFrame().
|
inline |
|
inline |
|
inline |
Definición en la lÃnea 113 del archivo Camera.h.
Hace referencia a m_view.
Referenciado por GUI::editTransform(), GetViewNoTranslation(), BaseApp::update() y ForwardRenderer::updatePerFrame().
|
inline |
| void Camera::lookAt | ( | const EU::Vector3 & | pos, |
| const EU::Vector3 & | target, | ||
| const EU::Vector3 & | up = EU::Vector3(0, 1, 0) |
||
| ) |
Pasos
Aplicación práctica
Definición en la lÃnea 40 del archivo Camera.cpp.
Hace referencia a FromXM(), m_forward, m_position, m_right, m_up, EU::Vector3::x, EU::Vector3::y y EU::Vector3::z.
| void Camera::pitch | ( | float | radians | ) |
Aplicación práctica
Definición en la lÃnea 96 del archivo Camera.cpp.
Hace referencia a FromXM(), m_forward, m_right, m_up, m_viewDirty, EU::Vector3::x, EU::Vector3::y y EU::Vector3::z.
| void Camera::setLens | ( | float | fovYRadians, |
| float | aspectRatio, | ||
| float | nearPlane, | ||
| float | farPlane | ||
| ) |
Pasos
Aplicación práctica
Definición en la lÃnea 14 del archivo Camera.cpp.
Hace referencia a m_aspectRatio, m_farPlane, m_fovY, m_nearPlane y m_proj.
Referenciado por BaseApp::init() y BaseApp::onResize().
| void Camera::setPosition | ( | const EU::Vector3 & | pos | ) |
Definición en la lÃnea 34 del archivo Camera.cpp.
Hace referencia a m_position y m_viewDirty.
| void Camera::setPosition | ( | float | x, |
| float | y, | ||
| float | z | ||
| ) |
Definición en la lÃnea 28 del archivo Camera.cpp.
Hace referencia a m_position y m_viewDirty.
Referenciado por BaseApp::init().
| void Camera::strafe | ( | float | d | ) |
Definición en la lÃnea 66 del archivo Camera.cpp.
Hace referencia a FromXM(), m_position, m_right, m_viewDirty, EU::Vector3::x, EU::Vector3::y y EU::Vector3::z.
| void Camera::updateViewMatrix | ( | ) |
Pasos
Aplicación práctica
Definición en la lÃnea 114 del archivo Camera.cpp.
Hace referencia a FromXM(), m_forward, m_position, m_right, m_up, m_view, m_viewDirty, EU::Vector3::x, EU::Vector3::y y EU::Vector3::z.
Referenciado por BaseApp::update().
| void Camera::walk | ( | float | d | ) |
Definición en la lÃnea 56 del archivo Camera.cpp.
Hace referencia a FromXM(), m_forward, m_position, m_viewDirty, EU::Vector3::x, EU::Vector3::y y EU::Vector3::z.
| void Camera::yaw | ( | float | radians | ) |
Aplicación práctica
Definición en la lÃnea 76 del archivo Camera.cpp.
Hace referencia a FromXM(), m_forward, m_right, m_up, m_viewDirty, EU::Vector3::x, EU::Vector3::y y EU::Vector3::z.
|
private |
Definición en la lÃnea 173 del archivo Camera.h.
Referenciado por getAspect() y setLens().
|
private |
|
private |
Definición en la lÃnea 165 del archivo Camera.h.
Referenciado por GetForward(), lookAt(), pitch(), updateViewMatrix(), walk() y yaw().
|
private |
|
private |
Definición en la lÃnea 174 del archivo Camera.h.
Referenciado por getNearZ() y setLens().
|
private |
Definición en la lÃnea 160 del archivo Camera.h.
Referenciado por getPosition(), getPosition(), lookAt(), setPosition(), setPosition(), strafe(), updateViewMatrix() y walk().
|
private |
|
private |
Definición en la lÃnea 163 del archivo Camera.h.
Referenciado por GetRight(), lookAt(), pitch(), strafe(), updateViewMatrix() y yaw().
|
private |
|
private |
Definición en la lÃnea 168 del archivo Camera.h.
Referenciado por Camera(), getView() y updateViewMatrix().
|
private |
Definición en la lÃnea 177 del archivo Camera.h.
Referenciado por pitch(), setPosition(), setPosition(), strafe(), updateViewMatrix(), walk() y yaw().