由于我的渲染速度很慢,因为它使用了大量的补丁对象,因此我遵循了将所有补丁汇总到一个补丁中的建议,这大大提高了渲染速度。
我希望能够隐藏部分修补程序,但不幸的是我只能修改每个面的透明度(使用p.FaceVertexAlphaData
)而不是每个边缘的透明度。有没有办法在每个边缘设置透明度?
同样,有没有办法在每个边缘设置颜色?
到目前为止,我能做的最好的事情是在每个顶点的基础上设置颜色并设置' EdgeAlpha'到interp - 即将顶点的alpha绑定到边缘的alpha
figure;
alim([0 1]);
v = [2 4; 2 8; 8 4; 5 0; 5 2; 8 0];
f = [1 2 3; 4 5 6];
col = [0; 1];
alpha = [1;1;1;1;1;1];
p = patch('Faces',f,'Vertices',v,'FaceVertexCData',col,'FaceColor','flat', ...
'FaceVertexAlphaData', alpha, 'FaceAlpha', 'interp', ...
'EdgeAlpha', 'interp');
p.FaceVertexAlphaData(4:end) = 1;
p.FaceVertexAlphaData(1:3) = 0; % hide...