Tapioca Engine 1.0
Motor de videojuegos creado por Bubble Studios
Cargando...
Buscando...
Nada coincide
Métodos públicos | Lista de todos los miembros
Referencia de la clase Tapioca::CameraComponent

Componente que se encarga de gestionar la camara y el viewport. Más...

#include <CameraComponent.h>

Diagrama de herencia de Tapioca::CameraComponent
Tapioca::Component

Métodos públicos

 CameraComponent ()
 Constructor por defecto.
 
 ~CameraComponent ()
 Destructor por defecto.
 
bool initComponent (const CompMap &variables) override
 Metodo que se usa para recibir los parametros iniciales y guardarlos. No garantiza que todos los componentes iniciales esten creados.
 
void awake () override
 Metodo que se usa para inicializar el componente. Se ejecuta antes que el start Garantiza que todos los componentes iniciales esten creados.
 
void handleEvent (std::string const &id, void *info) override
 Metodo que se usa para recibir eventos. Se llama nada mas se recibe el evento, si es un evento de ventana se recibe en el pushEvent.
 
void lookAt (const Vector3 targetToLook)
 Cambia la direccion a la que mira la camara. Por debajo funciona como un setDirection, por lo tanto, rota la camara (en este caso en torno al espacio mundial, pero se podria cambiar)
 
void setDirection (const Vector3 dir)
 Cambia la direccion de la camara.
 
void setNearClipDistance (const float dist)
 Cambia el valor del rectangulo cercano que define el frustum. Se indica la distancia. Cuanto mas lejos este el near plane y mayor sea la distancia entre el near plane y el far plane, menos preciso sera el buffer Z de profundidad.
 
void setFarClipDistance (const float dist)
 Cambia el valor del rectangulo lejano que define el frustum. Si es muy grande la distancia, puede haber problemas de tartamudeo (por precision), por ejemplo con las luces o sombras si se encuentran muy lejos.
 
void setFOVYRadians (const float radians)
 Cambia el valor del rectangulo cercano que define el frustum. Como el tam del near distance es constante, dependiendo de cuanto lo acerquemos o lo alejemos, el angulo que forma con la posicion de la camara es mayor o menor, respectivamente Se puede indicar este angulo para ajustar la distancia del near plane X ej, un angulo de 90º corresponde con que tenemos una vision de 90º en el eje vertical (el horizontal se calcula solo, a partir del anguno en el eje vertical y el tam de la ventana grafica/near plane)
 
void setFOVYDegrees (const float degrees)
 Cambia el valor del rectangulo cercano que define el frustum. Como el tam del near distance es constante, dependiendo de cuanto lo acerquemos o lo alejemos, el angulo que forma con la posicion de la camara es mayor o menor, respectivamente Se puede indicar este angulo para ajustar la distancia del near plane X ej, un angulo de 90º corresponde con que tenemos una vision de 90º en el eje vertical (el horizontal se calcula solo, a partir del anguno en el eje vertical y el tam de la ventana grafica/near plane)
 
void setDimensions (const Vector4 dimensions)
 Establece las dimensiones del viewport.
 
int getWidthInPixels () const
 Devuelve la anchura del viewport en pixeles.
 
int getHeightInPixels () const
 Devuelve la altura del viewport en pixeles.
 
void setBackground (const Vector3 color)
 Establece el color de fondo del viewport.
 
void setZOrder (const int zOrder)
 Establece el orden de renderizado de la camara.
 
int getZOrder () const
 Devuelve el orden de renderizado de la camara.
 
- Métodos públicos heredados de Tapioca::Component
 Component ()
 Constructor de la clase Component.
 
virtual ~Component ()
 Destructor de la clase Component.
 
virtual void start ()
 Inicializa el componente Garantiza que todos los componentes iniciales esten creados.
 
virtual void update (const uint64_t deltaTime)
 Actualiza el estado de un componente. Se llama todas las veces posibles.
 
virtual void fixedUpdate ()
 Actualiza el estado de un componente Se llama cada cierto tiempo fijo (Game::FIXED_DELTA_TIME),.
 
virtual void render () const
 Renderizado de un componente.
 
virtual void updateUI ()
 Actualiza la interfaz de usuario.
 
void pushEvent (std::string const &id, void *info, const bool global=true, const bool delay=false)
 Envia un evento.
 
template<typename T >
bool setValueFromMap (T &var, std::string const &varName, const CompMap &map)
 Da valor a una variable declarada en un CompMap.
 
GameObjectgetObject () const
 Devuelve el objeto al que esta adjunto este componente.
 
bool isAlive () const
 Devuelve si el componente esta "vivo" (si se actualizan update, handleEvents, ...)
 
bool isActive () const
 Devuelve si el componente esta activo (si es 'false' no se llama a ningun metodo excepto 'receiveEvent')
 
void die ()
 Borra el componente.
 
virtual void setActive (const bool b)
 Activa o desactiva el componente (si es 'false' no se llama a ningun metodo excepto 'receiveEvent')
 

Otros miembros heredados

- Atributos protegidos heredados de Tapioca::Component
GameObjectobject
 
bool alive
 
bool active
 

Descripción detallada

Componente que se encarga de gestionar la camara y el viewport.

Documentación de constructores y destructores

◆ CameraComponent()

Tapioca::CameraComponent::CameraComponent ( )

Constructor por defecto.

◆ ~CameraComponent()

Tapioca::CameraComponent::~CameraComponent ( )

Destructor por defecto.

Documentación de funciones miembro

◆ awake()

void Tapioca::CameraComponent::awake ( )
overridevirtual

Metodo que se usa para inicializar el componente. Se ejecuta antes que el start Garantiza que todos los componentes iniciales esten creados.

Reimplementado de Tapioca::Component.

◆ getHeightInPixels()

int Tapioca::CameraComponent::getHeightInPixels ( ) const

Devuelve la altura del viewport en pixeles.

Devuelve
Altura del viewport en pixeles

◆ getWidthInPixels()

int Tapioca::CameraComponent::getWidthInPixels ( ) const

Devuelve la anchura del viewport en pixeles.

Devuelve
Anchura del viewport en pixeles

◆ getZOrder()

int Tapioca::CameraComponent::getZOrder ( ) const
inline

Devuelve el orden de renderizado de la camara.

Devuelve
Orden de renderizado de la camara

◆ handleEvent()

void Tapioca::CameraComponent::handleEvent ( std::string const & id,
void * info )
overridevirtual

Metodo que se usa para recibir eventos. Se llama nada mas se recibe el evento, si es un evento de ventana se recibe en el pushEvent.

Parámetros
idIndica el tipo de mensaje
infoPuntero a void para pasar parametros

Reimplementado de Tapioca::Component.

◆ initComponent()

bool Tapioca::CameraComponent::initComponent ( const CompMap & variables)
overridevirtual

Metodo que se usa para recibir los parametros iniciales y guardarlos. No garantiza que todos los componentes iniciales esten creados.

Parámetros
variablesunordered_map con los parametros iniciales
Devuelve
Devuelve true si se ha inicializado correctamente, false en caso contrario

Reimplementado de Tapioca::Component.

◆ lookAt()

void Tapioca::CameraComponent::lookAt ( const Vector3 targetToLook)

Cambia la direccion a la que mira la camara. Por debajo funciona como un setDirection, por lo tanto, rota la camara (en este caso en torno al espacio mundial, pero se podria cambiar)

Parámetros
targetToLookDireccion a la que se quiere que mire la camara

◆ setBackground()

void Tapioca::CameraComponent::setBackground ( const Vector3 color)

Establece el color de fondo del viewport.

Parámetros
colorColor de fondo del viewport

◆ setDimensions()

void Tapioca::CameraComponent::setDimensions ( const Vector4 dimensions)

Establece las dimensiones del viewport.

◆ setDirection()

void Tapioca::CameraComponent::setDirection ( const Vector3 dir)

Cambia la direccion de la camara.

Parámetros
dirDireccion a la que se quiere que poner la camara

◆ setFarClipDistance()

void Tapioca::CameraComponent::setFarClipDistance ( const float dist)

Cambia el valor del rectangulo lejano que define el frustum. Si es muy grande la distancia, puede haber problemas de tartamudeo (por precision), por ejemplo con las luces o sombras si se encuentran muy lejos.

Parámetros
distDistancia a la que se quiere poner de la camara el regtangulo. Si es 0 es infinita.

◆ setFOVYDegrees()

void Tapioca::CameraComponent::setFOVYDegrees ( const float degrees)

Cambia el valor del rectangulo cercano que define el frustum. Como el tam del near distance es constante, dependiendo de cuanto lo acerquemos o lo alejemos, el angulo que forma con la posicion de la camara es mayor o menor, respectivamente Se puede indicar este angulo para ajustar la distancia del near plane X ej, un angulo de 90º corresponde con que tenemos una vision de 90º en el eje vertical (el horizontal se calcula solo, a partir del anguno en el eje vertical y el tam de la ventana grafica/near plane)

Parámetros
degreesAngulo en grados al que se cambia el trangulo que forma la camara con el rectangulo

◆ setFOVYRadians()

void Tapioca::CameraComponent::setFOVYRadians ( const float radians)

Cambia el valor del rectangulo cercano que define el frustum. Como el tam del near distance es constante, dependiendo de cuanto lo acerquemos o lo alejemos, el angulo que forma con la posicion de la camara es mayor o menor, respectivamente Se puede indicar este angulo para ajustar la distancia del near plane X ej, un angulo de 90º corresponde con que tenemos una vision de 90º en el eje vertical (el horizontal se calcula solo, a partir del anguno en el eje vertical y el tam de la ventana grafica/near plane)

Parámetros
radiansAngulo en radianes al que se cambia el trangulo que forma la camara con el rectangulo

◆ setNearClipDistance()

void Tapioca::CameraComponent::setNearClipDistance ( const float dist)

Cambia el valor del rectangulo cercano que define el frustum. Se indica la distancia. Cuanto mas lejos este el near plane y mayor sea la distancia entre el near plane y el far plane, menos preciso sera el buffer Z de profundidad.

Parámetros
distDistancia a la que se quiere poner de la camara el regtangulo

◆ setZOrder()

void Tapioca::CameraComponent::setZOrder ( const int zOrder)

Establece el orden de renderizado de la camara.

Parámetros
zOrderOrden de renderizado de la camara

La documentación de esta clase está generada de los siguientes archivos: