|
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 |