Transparent meshes¶
Show a transparent 3D mesh.
Warning
Transparency in 3D is difficult to handle correctly. The current implementation is suboptimal. Improved mesh transparency will be introduced in Datoviz v0.4, as it requires changes to the rendering backend.
Tags: mesh, transparency, arcball
import numpy as np
import datoviz as dvz
data = np.load(dvz.download_data('mesh/brain.npz'))
pos = data['pos']
normal = data['normal']
color = data['color']
index = data['index']
nv, ni = pos.shape[0], index.shape[0]
index = index.reshape((-1, 3))[::-1, :].ravel()
color[:] = (255, 255, 255, 32)
angles = (-2.5, -0.9, -0.1)
# -------------------------------------------------------------------------------------------------
app = dvz.App(background='white')
figure = app.figure()
panel = figure.panel()
arcball = panel.arcball(initial=angles)
visual = app.mesh(indexed=True, lighting=True, cull='back')
visual.set_data(
position=pos,
normal=normal,
color=color,
index=index,
)
panel.add(visual)
app.run()
app.destroy()