Bbop-Library 0.4.1-alpha
Opengl library to build 2d apps and game that implement a light system named Lumop
 
Loading...
Searching...
No Matches
Camera Class Reference

Permet de modifier les point de vue et la position de l'affichage de la class Scene. More...

#include <cameraClass.h>

Public Member Functions

 Camera (Vector2f nPos, float nScale)
 Constructeur de la Camera.
 
 Camera ()
 Constructeur par défault de la camera.
 
void buildCamera ()
 Determine les limites x et y de la cam avec ces attribut.
 
void setScale (float nScale)
 Change la scale de la camera.
 
float getScale ()
 Renvoie la scale de la camera.
 
void setPosition (Vector2f nPos)
 Change la position de la camera.
 
Vector2f getPosition ()
 Renvoie la position actuelle de la camera.
 
void move (Vector2f m)
 Déplace la caméra avec le vecteur m.
 
Vector2f screenPosToCamPos (Vector2f screenPos)
 Convertie des coordonnées en pixel sur l'écran en coordonnées sur la caméra.
 
Vector2f camPosToWorldPos (Vector2f camPos)
 Convertie des coordonnées en pixel sur la caméra en coordonnées dans le monde.
 
bool isInCamView (Shape &obj)
 Détermine si un objet Shape est visible sur l'écran à travers le prisme de la Camera.
 
bool isInCamView (CollisionBox &obj)
 Détermine si un geometrix est dans le champs de la camera.
 

Public Attributes

Vector2f camX
 Limites de la camera en X.
 
Vector2f camY
 Limites de la camera en Y.
 

Detailed Description

Permet de modifier les point de vue et la position de l'affichage de la class Scene.

Note
Les attribut de cette class sont utilisé par Scene pour fabriquer la matrice de projection du vertex shader
Todo
Ajouter des méthode d'effet sur la caméra comme le trenblement ou des filtre de couleur

Constructor & Destructor Documentation

◆ Camera() [1/2]

Camera::Camera ( Vector2f nPos,
float nScale )

Constructeur de la Camera.

Parameters
[in]nPosPosition du centre de la Camera
[in]nScaleScale de la camera, a 1.0 la camera à la même proportion que la résolution BBOP_WINDOW_SIZE

◆ Camera() [2/2]

Camera::Camera ( )

Constructeur par défault de la camera.

La position de la camera est le milieu de BBOP_WINDOW_SIZE et la scale est de 1.0

Note
Une Camera par défault peut être utile pour convertir des coordonnées de la souris en coordonnées dans le monde avec les méthodes de Camera

Member Function Documentation

◆ buildCamera()

void Camera::buildCamera ( )

Determine les limites x et y de la cam avec ces attribut.

◆ camPosToWorldPos()

Vector2f Camera::camPosToWorldPos ( Vector2f camPos)

Convertie des coordonnées en pixel sur la caméra en coordonnées dans le monde.

Parameters
[in]camPosPosition sur la caméra
Returns
finalPos dans le monde

◆ getPosition()

Vector2f Camera::getPosition ( )

Renvoie la position actuelle de la camera.

Returns
pos

◆ getScale()

float Camera::getScale ( )

Renvoie la scale de la camera.

Returns
scale

◆ isInCamView() [1/2]

bool Camera::isInCamView ( CollisionBox & obj)

Détermine si un geometrix est dans le champs de la camera.

Parameters
[in]objObjet à tester
Returns
bool Oui ou Non l'objet est visible
Note
Cette méthode est très utile pour eviter d'afficher des objet non visible par le joueur ou même les détruirze quand ils sortent de l'écran.
Attention
La méthode n'a été testé que sur des RectangleShape et des Sprite, Il peut y avaoir certain disfonctionnement avec les ConvexShape et les CircleShape.

◆ isInCamView() [2/2]

bool Camera::isInCamView ( Shape & obj)

Détermine si un objet Shape est visible sur l'écran à travers le prisme de la Camera.

Parameters
[in]objObjet à tester
Returns
bool Oui ou Non l'objet est visible
Note
Cette méthode est très utile pour eviter d'afficher des objet non visible par le joueur ou même les détruirze quand ils sortent de l'écran.
Attention
La méthode n'a été testé que sur des RectangleShape et des Sprite, Il peut y avaoir certain disfonctionnement avec les ConvexShape et les CircleShape.

◆ move()

void Camera::move ( Vector2f m)

Déplace la caméra avec le vecteur m.

Parameters
[in]mVecteur de déplacement de la caméra

◆ screenPosToCamPos()

Vector2f Camera::screenPosToCamPos ( Vector2f screenPos)

Convertie des coordonnées en pixel sur l'écran en coordonnées sur la caméra.

Parameters
[in]screenPosPosition sur l'écran à convertir
Returns
finalPos Position sur la caméra calculé à partir de screenPos

◆ setPosition()

void Camera::setPosition ( Vector2f nPos)

Change la position de la camera.

Parameters
[in]nPosPosition de la camera
Attention
La postion de la camera est les coordonnées du centre de celle ci

◆ setScale()

void Camera::setScale ( float nScale)

Change la scale de la camera.

Parameters
[in]nScaleScale de la camera

Member Data Documentation

◆ camX

Vector2f Camera::camX

Limites de la camera en X.

◆ camY

Vector2f Camera::camY

Limites de la camera en Y.


The documentation for this class was generated from the following files: