/
redgpu
/
ezEngine
Обзор
Документация
Войти
/
redgpu
/
ezEngine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
Code/UnitTests/CoreTest/World/CameraTest.cpp
57 строк
3 KB
Jan Krassnigg
MSFT contribution: Made all #includes relative to their project (#448)
09 авг 2021, 23:45
Не верифицирован
09 авг 2021, 23:45
2b8da9c
Код
Авторство
О чём код?
#include <CoreTest/CoreTestPCH.h> #include <Core/Graphics/Camera.h> #include <Foundation/Utilities/GraphicsUtils.h> EZ_CREATE_SIMPLE_TEST(World, Camera) { EZ_TEST_BLOCK(ezTestBlock::Enabled, "LookAt") { ezCamera camera; camera.LookAt(ezVec3(0, 0, 0), ezVec3(1, 0, 0), ezVec3(0, 0, 1)); EZ_TEST_VEC3(camera.GetPosition(), ezVec3(0, 0, 0), ezMath::DefaultEpsilon<float>()); EZ_TEST_VEC3(camera.GetDirForwards(), ezVec3(1, 0, 0), ezMath::DefaultEpsilon<float>()); EZ_TEST_VEC3(camera.GetDirRight(), ezVec3(0, 1, 0), ezMath::DefaultEpsilon<float>()); EZ_TEST_VEC3(camera.GetDirUp(), ezVec3(0, 0, 1), ezMath::DefaultEpsilon<float>()); camera.LookAt(ezVec3(0, 0, 0), ezVec3(-1, 0, 0), ezVec3(0, 0, 1)); EZ_TEST_VEC3(camera.GetPosition(), ezVec3(0, 0, 0), ezMath::DefaultEpsilon<float>()); EZ_TEST_VEC3(camera.GetDirForwards(), ezVec3(-1, 0, 0), ezMath::DefaultEpsilon<float>()); EZ_TEST_VEC3(camera.GetDirRight(), ezVec3(0, -1, 0), ezMath::DefaultEpsilon<float>()); EZ_TEST_VEC3(camera.GetDirUp(), ezVec3(0, 0, 1), ezMath::DefaultEpsilon<float>()); camera.LookAt(ezVec3(0, 0, 0), ezVec3(0, 0, 1), ezVec3(0, 1, 0)); EZ_TEST_VEC3(camera.GetPosition(), ezVec3(0, 0, 0), ezMath::DefaultEpsilon<float>()); EZ_TEST_VEC3(camera.GetDirForwards(), ezVec3(0, 0, 1), ezMath::DefaultEpsilon<float>()); EZ_TEST_VEC3(camera.GetDirRight(), ezVec3(1, 0, 0), ezMath::DefaultEpsilon<float>()); EZ_TEST_VEC3(camera.GetDirUp(), ezVec3(0, 1, 0), ezMath::DefaultEpsilon<float>()); camera.LookAt(ezVec3(0, 0, 0), ezVec3(0, 0, -1), ezVec3(0, 1, 0)); EZ_TEST_VEC3(camera.GetPosition(), ezVec3(0, 0, 0), ezMath::DefaultEpsilon<float>()); EZ_TEST_VEC3(camera.GetDirForwards(), ezVec3(0, 0, -1), ezMath::DefaultEpsilon<float>()); EZ_TEST_VEC3(camera.GetDirRight(), ezVec3(-1, 0, 0), ezMath::DefaultEpsilon<float>()); EZ_TEST_VEC3(camera.GetDirUp(), ezVec3(0, 1, 0), ezMath::DefaultEpsilon<float>()); const ezMat4 mLookAt = ezGraphicsUtils::CreateLookAtViewMatrix(ezVec3(2, 3, 4), ezVec3(3, 3, 4), ezVec3(0, 0, 1), ezHandedness::LeftHanded); camera.SetViewMatrix(mLookAt); EZ_TEST_VEC3(camera.GetPosition(), ezVec3(2, 3, 4), ezMath::DefaultEpsilon<float>()); EZ_TEST_VEC3(camera.GetDirForwards(), ezVec3(1, 0, 0), ezMath::DefaultEpsilon<float>()); EZ_TEST_VEC3(camera.GetDirRight(), ezVec3(0, 1, 0), ezMath::DefaultEpsilon<float>()); EZ_TEST_VEC3(camera.GetDirUp(), ezVec3(0, 0, 1), ezMath::DefaultEpsilon<float>()); // look at with dir == up vector camera.LookAt(ezVec3(2, 3, 4), ezVec3(2, 3, 5), ezVec3(0, 0, 1)); EZ_TEST_VEC3(camera.GetPosition(), ezVec3(2, 3, 4), ezMath::DefaultEpsilon<float>()); EZ_TEST_VEC3(camera.GetDirForwards(), ezVec3(0, 0, 1), ezMath::DefaultEpsilon<float>()); EZ_TEST_VEC3(camera.GetDirRight(), ezVec3(0, 1, 0), ezMath::DefaultEpsilon<float>()); EZ_TEST_VEC3(camera.GetDirUp(), ezVec3(-1, 0, 0), ezMath::DefaultEpsilon<float>()); camera.LookAt(ezVec3(2, 3, 4), ezVec3(2, 3, 3), ezVec3(0, 0, 1)); EZ_TEST_VEC3(camera.GetPosition(), ezVec3(2, 3, 4), ezMath::DefaultEpsilon<float>()); EZ_TEST_VEC3(camera.GetDirForwards(), ezVec3(0, 0, -1), ezMath::DefaultEpsilon<float>()); EZ_TEST_VEC3(camera.GetDirRight(), ezVec3(0, 1, 0), ezMath::DefaultEpsilon<float>()); EZ_TEST_VEC3(camera.GetDirUp(), ezVec3(1, 0, 0), ezMath::DefaultEpsilon<float>()); } }