Introducing Cameras in Azura. Similar to Unity, we can create virtual cameras. They are inherited from the base class GameObject, hence they get the basic features like Transformations and mIsRenderable as false (So that we don’t render this virtual object).

The primary camera or MainCamera is Initialized by default in CoreManager. You use it as (There will be a Camera Object later added, the MainCamera is just there to keep it unique from other cameras):

mMainCamera = new MainCamera(renderState);

Moving it!

// Change the Position
mMainCamera->SetPosition(4.0f, 0.0f, -10.0f);
mMainCamera->SetPosition(XMVECTOR3);

// Change the Look Target
mMainCamera->LookAt(0.0f, 0.0f, 0.0f);
mMainCamera->LookAt(XMVECTOR3);

Here is a visual example:

Default Camera when Initialized:
Default Camera Position

Moving the camera using code:

mMainCamera->SetPosition(4.0f, 0.0f, -10.0f);

Modified Camera Position