This commit is contained in:
Branimir Karadžić
2018-12-21 21:05:26 -08:00
parent 5a996c95d9
commit 147a379067
15 changed files with 27 additions and 42 deletions

View File

@@ -862,9 +862,8 @@ public:
const bgfx::Caps* caps = bgfx::getCaps();
bx::mtxProj(m_viewState.m_proj, 60.0f, aspect, 0.1f, 100.0f, caps->homogeneousDepth);
float initialPos[3] = { 0.0f, 18.0f, -40.0f };
cameraCreate();
cameraSetPosition(initialPos);
cameraSetPosition({ 0.0f, 18.0f, -40.0f });
cameraSetVerticalAngle(-0.35f);
cameraGetViewMtx(m_viewState.m_view);

View File

@@ -2022,8 +2022,7 @@ public:
// Set view matrix
cameraCreate();
float initialPos[3] = { 3.0f, 20.0f, -58.0f };
cameraSetPosition(initialPos);
cameraSetPosition({ 3.0f, 20.0f, -58.0f });
cameraSetVerticalAngle(-0.25f);
cameraGetViewMtx(m_viewState.m_view);
}

View File

@@ -1901,9 +1901,8 @@ public:
s_rtBlur = bgfx::createFrameBuffer(m_currentShadowMapSize, m_currentShadowMapSize, bgfx::TextureFormat::BGRA8);
// Setup camera.
float initialPos[3] = { 0.0f, 60.0f, -105.0f };
cameraCreate();
cameraSetPosition(initialPos);
cameraSetPosition({ 0.0f, 60.0f, -105.0f });
cameraSetVerticalAngle(-0.45f);
m_timeAccumulatorLight = 0.0f;

View File

@@ -316,8 +316,7 @@ public:
cameraCreate();
const float initialPos[3] = { 0.0f, 0.0f, -15.0f };
cameraSetPosition(initialPos);
cameraSetPosition({ 0.0f, 0.0f, -15.0f });
cameraSetVerticalAngle(0.0f);
}

View File

@@ -207,9 +207,8 @@ public:
bgfx::setBuffer(1, m_currPositionBuffer0, bgfx::Access::Write);
bgfx::dispatch(0, m_initInstancesProgram, kMaxParticleCount / kThreadGroupUpdateSize, 1, 1);
float initialPos[3] = { 0.0f, 0.0f, -45.0f };
cameraCreate();
cameraSetPosition(initialPos);
cameraSetPosition({ 0.0f, 0.0f, -45.0f });
cameraSetVerticalAngle(0.0f);
m_useIndirect = false;

View File

@@ -137,8 +137,7 @@ public:
cameraCreate();
const float initialPos[3] = { 15.5f, 0.0f, -15.5f };
cameraSetPosition(initialPos);
cameraSetPosition({ 15.5f, 0.0f, -15.5f });
cameraSetHorizontalAngle(bx::toRad(-45.0f) );
m_timeOffset = bx::getHPCounter();

View File

@@ -135,9 +135,8 @@ public:
cameraCreate();
const float initialPos[3] = { s_terrainSize/2.0f, 100.0f, 0.0f };
cameraSetPosition(initialPos);
cameraSetVerticalAngle(-bx::kPi/4.0f);
cameraSetPosition({ s_terrainSize/2.0f, 100.0f, 0.0f });
cameraSetVerticalAngle(-bx::kPiQuarter);
}
virtual int shutdown() override
@@ -359,8 +358,7 @@ public:
const bx::Vec3 rayDir = bx::mul(bx::normalize(bx::load<bx::Vec3>(ray_world) ), -1.0f);
bx::Vec3 pos;
cameraGetPosition(&pos.x);
bx::Vec3 pos = cameraGetPosition();
for (int i = 0; i < 1000; ++i)
{
pos = bx::add(pos, rayDir);

View File

@@ -517,8 +517,7 @@ public:
cameraCreate();
const float initialPos[3] = { 0.0f, 2.0f, -12.0f };
cameraSetPosition(initialPos);
cameraSetPosition({ 0.0f, 2.0f, -12.0f });
cameraSetVerticalAngle(0.0f);
ddInit();

View File

@@ -364,8 +364,7 @@ public:
// Init camera
cameraCreate();
float camPos[] = {0.0f, 1.5f, 0.0f};
cameraSetPosition(camPos);
cameraSetPosition({0.0f, 1.5f, 0.0f});
cameraSetVerticalAngle(-0.3f);
// Init directional light

View File

@@ -290,8 +290,7 @@ public:
cameraCreate();
const float initialPos[3] = { 0.0f, 2.0f, -12.0f };
cameraSetPosition(initialPos);
cameraSetPosition({ 0.0f, 2.0f, -12.0f });
cameraSetVerticalAngle(0.0f);
m_timeOffset = bx::getHPCounter();
@@ -409,13 +408,12 @@ public:
dde.drawGrid(Axis::Y, { 0.0f, 0.0f, 0.0f });
float eye[3];
cameraGetPosition(eye);
const bx::Vec3 eye = cameraGetPosition();
m_emitter[currentEmitter].update();
psUpdate(deltaTime * timeScale);
psRender(0, view, bx::load<bx::Vec3>(eye) );
psRender(0, view, eye);
if (showBounds)
{

View File

@@ -463,8 +463,7 @@ namespace
cameraCreate();
const float initialPos[3] = { 5.0f, 3.0, 0.0f };
cameraSetPosition(initialPos);
cameraSetPosition({ 5.0f, 3.0, 0.0f });
cameraSetVerticalAngle(bx::kPi / 8.0f);
cameraSetHorizontalAngle(-bx::kPi / 3.0f);

View File

@@ -283,8 +283,7 @@ public:
cameraCreate();
const float initialPos[3] = { 0.0f, 0.0f, -15.0f };
cameraSetPosition(initialPos);
cameraSetPosition({ 0.0f, 0.0f, -15.0f });
cameraSetVerticalAngle(0.0f);
}

View File

@@ -370,8 +370,7 @@ namespace
// Init camera
cameraCreate();
float camPos[] = { 0.0f, 1.5f, 0.0f };
cameraSetPosition(camPos);
cameraSetPosition({ 0.0f, 1.5f, 0.0f });
cameraSetVerticalAngle(-0.3f);
m_fovY = 60.0f;

View File

@@ -243,9 +243,9 @@ struct Camera
bx::mtxLookAt(_viewMtx, bx::load<bx::Vec3>(&m_eye.x), bx::load<bx::Vec3>(&m_at.x), bx::load<bx::Vec3>(&m_up.x) );
}
void setPosition(const float* _pos)
void setPosition(const bx::Vec3& _pos)
{
bx::memCopy(&m_eye.x, _pos, sizeof(float)*3);
m_eye = _pos;
}
void setVerticalAngle(float _verticalAngle)
@@ -288,7 +288,7 @@ void cameraDestroy()
s_camera = NULL;
}
void cameraSetPosition(const float* _pos)
void cameraSetPosition(const bx::Vec3& _pos)
{
s_camera->setPosition(_pos);
}
@@ -313,14 +313,14 @@ void cameraGetViewMtx(float* _viewMtx)
s_camera->getViewMtx(_viewMtx);
}
void cameraGetPosition(float* _pos)
bx::Vec3 cameraGetPosition()
{
bx::memCopy(_pos, &s_camera->m_eye.x, 3*sizeof(float) );
return s_camera->m_eye;
}
void cameraGetAt(float* _at)
bx::Vec3 cameraGetAt()
{
bx::memCopy(_at, &s_camera->m_at.x, 3*sizeof(float) );
return s_camera->m_at;
}
void cameraUpdate(float _deltaTime, const entry::MouseState& _mouseState)

View File

@@ -22,7 +22,7 @@ void cameraCreate();
void cameraDestroy();
///
void cameraSetPosition(const float* _pos);
void cameraSetPosition(const bx::Vec3& _pos);
///
void cameraSetHorizontalAngle(float _horizontalAngle);
@@ -37,10 +37,10 @@ void cameraSetKeyState(uint8_t _key, bool _down);
void cameraGetViewMtx(float* _viewMtx);
///
void cameraGetPosition(float* _pos);
bx::Vec3 cameraGetPosition();
///
void cameraGetAt(float* _at);
bx::Vec3 cameraGetAt();
///
void cameraUpdate(float _deltaTime, const entry::MouseState& _mouseState);