// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen // SPDX-License-Identifier: BSD-3-Clause #include "vtkOpenGLPolyDataMapper.h" #include "vtkOpenVRCamera.h" #include "vtkOpenVRRenderWindow.h" #include "vtkOpenVRRenderWindowInteractor.h" #include "vtkOpenVRRenderer.h" #include "vtkProperty.h" #include "vtkRegressionTestImage.h" #include "vtkSphereSource.h" //------------------------------------------------------------------------------ // Render a non-opaque sphere with a background // ensuring the generated image looks the same // whatever the viewpoint int TestOpenVRRendering(int argc, char* argv[]) { vtkNew renderer; vtkNew renderWindow; vtkNew cam; vtkNew iren; vtkNew actor; renderer->SetBackground(0.2, 0.3, 0.4); renderer->SetActiveCamera(cam); renderer->AddActor(actor); renderWindow->AddRenderer(renderer); iren->SetRenderWindow(renderWindow); iren->SetActionManifestDirectory("../../"); vtkNew sphere; sphere->SetPhiResolution(80); sphere->SetThetaResolution(80); sphere->SetRadius(100); sphere->Update(); vtkNew mapper; mapper->SetInputConnection(sphere->GetOutputPort()); actor->SetMapper(mapper); actor->GetProperty()->SetOpacity(0.5); renderWindow->Initialize(); if (!renderWindow->GetHMD()) { return 1; } iren->Initialize(); iren->DoOneEvent(renderWindow, renderer); renderWindow->Render(); int retVal = vtkRegressionTester::Test(argc, argv, renderWindow, 10); if (retVal == vtkRegressionTester::DO_INTERACTOR) { iren->Start(); } return 0; }