Skip to content

Commit eff0ff4

Browse files
committed
Fixed CubeMap Face Directions
1 parent 53e7769 commit eff0ff4

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

examples_tests/22.RaytracedAO/main.cpp

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -584,6 +584,16 @@ int main(int argc, char** argv)
584584
nbl::core::vectorSIMDf(0, 0, +1, 0), // +Z
585585
nbl::core::vectorSIMDf(0, 0, -1, 0), // -Z
586586
};
587+
588+
const nbl::core::vectorSIMDf upVectors[6] =
589+
{
590+
nbl::core::vectorSIMDf(0, +1, 0, 0), // +Y
591+
nbl::core::vectorSIMDf(0, +1, 0, 0), // +Y
592+
nbl::core::vectorSIMDf(0, 0, +1, 0), // -Z
593+
nbl::core::vectorSIMDf(0, 0, -1, 0), // +Z
594+
nbl::core::vectorSIMDf(0, +1, 0, 0), // +Y
595+
nbl::core::vectorSIMDf(0, +1, 0, 0), // +Y
596+
};
587597

588598
const std::string suffixes[6] =
589599
{
@@ -620,16 +630,15 @@ int main(int argc, char** argv)
620630
auto & staticCamera = cubemapFaceSensorData.staticCamera;
621631

622632
const auto & camView = camViews[i];
633+
const auto & upVector = upVectors[i];
623634

624635
staticCamera->setPosition(mainCamPos.getAsVector3df());
625636
staticCamera->setTarget((mainCamPos + camView).getAsVector3df());
626-
627-
if (core::dot(core::normalize(core::cross(staticCamera->getUpVector(),camView)),core::cross(mainCamUp,camView)).x<0.99f)
628-
staticCamera->setUpVector(mainCamUp);
637+
staticCamera->setUpVector(upVector);
629638

630639
auto borderPixels = cubemapFaceSensorData.highQualityEdges;
631640
// TODO: compute fov based on borderPixels
632-
auto fov = core::radians(90);
641+
auto fov = core::radians(90.0f);
633642
auto aspectRatio = 1.0f;
634643
if(mainSensorData.width != mainSensorData.height)
635644
{
@@ -641,7 +650,8 @@ int main(int argc, char** argv)
641650
staticCamera->setProjectionMatrix(core::matrix4SIMD::buildProjectionMatrixPerspectiveFovRH(fov, 1.0f, nearClip, farClip));
642651
else
643652
staticCamera->setProjectionMatrix(core::matrix4SIMD::buildProjectionMatrixPerspectiveFovLH(fov, 1.0f, nearClip, farClip));
644-
653+
654+
cubemapFaceSensorData.interactiveCamera = smgr->addCameraSceneNodeModifiedMaya(nullptr, -1.0f * mainSensorData.rotateSpeed, 50.0f, mainSensorData.moveSpeed, -1, 2.0f, defaultZoomSpeedMultiplier, false, true);
645655
cubemapFaceSensorData.resetInteractiveCamera();
646656
sensors.push_back(cubemapFaceSensorData);
647657
}

0 commit comments

Comments
 (0)