如何在vtk python中实现openvr?

问题描述 投票:0回答:1

我无法使openvr和vtk python一起工作。目前,我正在使用spyder ide。

我用vtk和openvr在C ++中完成了一些代码,只是将vtkRenderer更改为vtkOpenVRRenderer,依此类推。但这在spyder中不起作用。

import vtk
import openvr


class vtk:   

    colors = vtk.vtkNamedColors()

    reader = vtk.vtkXMLPolyDataReader()
    reader.SetFileName("D:\\UNAM\\MultiBlockDataSet\\Dist\\Distancias_00_0.vtp")
    reader.Update()

    mapper = vtk.vtkPolyDataMapper()
    mapper.SetInputConnection(reader.GetOutputPort())

    actor = vtk.vtkActor()
    actor.SetMapper(mapper)
    actor.GetProperty().SetColor(colors.GetColor3d('Tan'))

    ren = vtk.vtkRenderer()
    renWin = vtk.vtkRenderWindow()
    renWin.AddRenderer(ren)
    ren.SetBackground(colors.GetColor3d('AliceBlue'))

    iren = vtk.vtkRenderWindowInteractor()
    iren.SetRenderWindow(renWin)

    ren.AddActor(actor)

    iren.Initialize()
    renWin.Render()
    ren.GetActiveCamera().SetPosition(-0.5, 0.1, 0.0)
    ren.GetActiveCamera().SetViewUp(0.1, 0.0, 1.0)
    renWin.Render()
    iren.Start()

if __name__ == "__main__":
    vtk()
python pyqt5 vtk openvr
1个回答
1
投票

查看此帖子,并可能继续关注VTK讨论:https://discourse.vtk.org/t/python-rendering-scene-to-vr/340

编辑:这里有更多信息,因为链接的答案被认为是la脚。] >>

  1. 您必须在启用了OpenVR的情况下从源代码构建VTK,这是​​另外一个讨论
  2. 您需要替换以下类:

  • vtkRendererWindow-> vtkOpenVRRenderWindow
  • vtkRenderer-> vtkOpenVRRenderer
  • vtkRenderWindowInteractor-> vtkOpenVRRenderWindowINteractor
  • vtkCamera-> vtkOpenVRCamera

如果您还有与VTK有关的其他问题,我强烈建议您加入VTK讨论,因为它是围绕VTK最为活跃的社区

© www.soinside.com 2019 - 2024. All rights reserved.