Tapioca Engine 1.0
Motor de videojuegos creado por Bubble Studios
|
Componente que se encarga de gestionar la camara y el viewport. Más...
#include <CameraComponent.h>
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. | |
GameObject * | getObject () 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 | |
GameObject * | object |
bool | alive |
bool | active |
Componente que se encarga de gestionar la camara y el viewport.
Tapioca::CameraComponent::CameraComponent | ( | ) |
Constructor por defecto.
Tapioca::CameraComponent::~CameraComponent | ( | ) |
Destructor por defecto.
|
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.
int Tapioca::CameraComponent::getHeightInPixels | ( | ) | const |
Devuelve la altura del viewport en pixeles.
int Tapioca::CameraComponent::getWidthInPixels | ( | ) | const |
Devuelve la anchura del viewport en pixeles.
|
inline |
Devuelve el orden de renderizado de la camara.
|
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.
id | Indica el tipo de mensaje |
info | Puntero a void para pasar parametros |
Reimplementado de Tapioca::Component.
|
overridevirtual |
Metodo que se usa para recibir los parametros iniciales y guardarlos. No garantiza que todos los componentes iniciales esten creados.
variables | unordered_map con los parametros iniciales |
Reimplementado de Tapioca::Component.
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)
targetToLook | Direccion a la que se quiere que mire la camara |
void Tapioca::CameraComponent::setBackground | ( | const Vector3 | color | ) |
Establece el color de fondo del viewport.
color | Color de fondo del viewport |
void Tapioca::CameraComponent::setDimensions | ( | const Vector4 | dimensions | ) |
Establece las dimensiones del viewport.
void Tapioca::CameraComponent::setDirection | ( | const Vector3 | dir | ) |
Cambia la direccion de la camara.
dir | Direccion a la que se quiere que poner la camara |
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.
dist | Distancia a la que se quiere poner de la camara el regtangulo. Si es 0 es infinita. |
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)
degrees | Angulo en grados al que se cambia el trangulo que forma la camara con el rectangulo |
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)
radians | Angulo en radianes al que se cambia el trangulo que forma la camara con el rectangulo |
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.
dist | Distancia a la que se quiere poner de la camara el regtangulo |
void Tapioca::CameraComponent::setZOrder | ( | const int | zOrder | ) |
Establece el orden de renderizado de la camara.
zOrder | Orden de renderizado de la camara |