Branimir Karadžić 7 lat temu
rodzic
commit
147a379067

+ 1 - 2
examples/13-stencil/stencil.cpp

@@ -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);
 

+ 1 - 2
examples/14-shadowvolumes/shadowvolumes.cpp

@@ -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);
 	}

+ 1 - 2
examples/16-shadowmaps/shadowmaps.cpp

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

+ 1 - 2
examples/21-deferred/deferred.cpp

@@ -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);
 	}
 

+ 1 - 2
examples/24-nbody/nbody.cpp

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

+ 1 - 2
examples/26-occlusion/occlusion.cpp

@@ -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();

+ 3 - 5
examples/27-terrain/terrain.cpp

@@ -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);

+ 1 - 2
examples/29-debugdraw/debugdraw.cpp

@@ -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();

+ 1 - 2
examples/31-rsm/reflectiveshadowmap.cpp

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

+ 3 - 5
examples/32-particles/particles.cpp

@@ -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)
 			{

+ 1 - 2
examples/36-sky/sky.cpp

@@ -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);
 

+ 1 - 2
examples/38-bloom/bloom.cpp

@@ -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);
 	}
 

+ 1 - 2
examples/39-assao/assao.cpp

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

+ 7 - 7
examples/common/camera.cpp

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

+ 3 - 3
examples/common/camera.h

@@ -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);