Рендеринг файла gltf/glb в блокноте jupyter с использованием vtk и k3d
Я изучил доступные методы рендеринга файла gltf/glb встроенным в блокнот jupyter, чтобы сохранить интерактивность обратного вызова средства просмотра. В конце концов я использовал vtk и k3d для этого. У меня есть два препятствия:
Как использовать vtkGLTFReader() для получения объектов vtkPolyData из glb и визуализации их в k3d? РЕШЕНИЕ: См. Метод, опубликованный в комментариях.
Как отобразить цвета / текстуры, встроенные в gltf/glb, чтобы показать их в k3d?
1 ответ
Вот код для получения vtkPolyData и передачи его в k3d.
import k3d
import vtk
import ipywidgets as widgets
reader = vtk.vtkGLTFReader()
reader.SetFileName('sample_glb/GroundVehicle.glb')
reader.Update()
plot = k3d.plot()
mb = reader.GetOutput()
iterator = mb.NewIterator()
vtk_polyobjects = []
while not iterator.IsDoneWithTraversal():
item = iterator.GetCurrentDataObject()
vtk_polyobjects.append(item)
iterator.GoToNextItem()
for obj in vtk_polyobjects:
plot += k3d.vtk_poly_data(obj, color=0x222222)
plot.display()
debug_info = widgets.HTML()