【问题标题】:How to implement openvr in vtk python?如何在 vtk python 中实现 openvr?
【发布时间】:2019-08-15 02:22:28
【问题描述】:

我不能让 openvr 和 vtk python 一起工作。目前我正在为此使用 spyder ide。

我在 C++ 中使用 vtk 和 openvr 完成了一些代码,只是将 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】:

    查看这篇文章,也许可以跟进 VTK 话语:https://discourse.vtk.org/t/python-rendering-scene-to-vr/340

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

    1. 您必须在启用 OpenVR 的情况下从源代码构建 VTK - 这完全是另一回事
    2. 您需要替换以下类:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-15
      • 2021-04-03
      • 2019-07-11
      • 2011-01-22
      • 2017-01-02
      相关资源
      最近更新 更多