diff --git a/components/renderers/cpp/src/tri_render.cpp b/components/renderers/cpp/src/tri_render.cpp
index 5aa6e7df20fcbe4f5d279d8bcd47512ed813b028..f9e89ffb3adbb1b212ea8798441761b43ec5e5bc 100644
--- a/components/renderers/cpp/src/tri_render.cpp
+++ b/components/renderers/cpp/src/tri_render.cpp
@@ -619,7 +619,7 @@ bool Triangular::render(ftl::rgbd::VirtualSource *src, ftl::rgbd::Frame &out) {
 
 		Eigen::Matrix4f transform = Eigen::Matrix4f::Identity();
 		transform(0, 3) = baseline;
-		Eigen::Matrix4f matrix = transform.inverse() * src->getPose().cast<float>();
+		Eigen::Matrix4f matrix = src->getPose().cast<float>() * transform.inverse();
 		
 		params.m_viewMatrix = MatrixConversion::toCUDA(matrix.inverse());
 		params.m_viewMatrixInverse = MatrixConversion::toCUDA(matrix);