Добавить окружающий свет в сцену Vispy
Я пытаюсь добавить рассеянный свет к вязкой сетке. Вот код, который я использую для визуализации триангулированной сетки.
meshdata = vispy.geometry.MeshData(vertices=r.vertices, faces=r.faces, vertex_colors=r.vColor)
canvas = scene.SceneCanvas(keys='interactive', size=(800, 600), show=True)
mesh = scene.visuals.Mesh(meshdata=meshdata, shading='smooth')
view = canvas.central_widget.add_view()
view.add(mesh)
view.bgcolor = '#efefef'
view.camera = TurntableCamera(azimuth=azimuth, elevation=elevation)
color = Color("#3f51b5")
axis = scene.visuals.XYZAxis(parent=view.scene)
if __name__ == '__main__' and sys.flags.interactive == 0:
canvas.app.run()
Каким-то образом меш выглядит очень темным, и я хочу добавить к нему рассеянный свет. Как я могу это сделать? Я искал в Интернете, и это, кажется, не легко. Я хочу начать использовать Python 3 и поэтому пытаюсь использовать Vispy вместо Mayavi. Любая помощь будет принята с благодарностью.
1 ответ
Для белого окружающего света:
mesh.ambient_light_color = vispy.color.Color('white')
Для пользовательского цвета (оранжевый, полупрозрачный):
mesh.ambient_light_color = vispy.color.Color(color=(1.0, 0.5, 0.0), alpha=0.5)
Смотрите: http://vispy.org/visuals.html#vispy.visuals.MeshVisual.ambient_light_color