我希望能够看穿透明的3D形状。例如,这个:
void setup() {
size(400, 400, P3D);
}
void draw() {
clear();
translate(width/2, height/2, -width/2);
stroke(255);
fill(0, 255, 255, 100);
box(width);
noStroke();
lights();
fill(255);
sphere(100);
}
…显示这个:
但我想要这个:
请注意,我刚刚为第二个添加了hint(DISABLE_DEPTH_TEST)
。我想要一个没有这个的解决方案,因为,你知道,它禁用了深度测试。
我建议使用禁用的深度测试绘制框。但在绘制球体之前启用深度测试:
void draw() {
clear();
translate(width/2, height/2, -width/2);
hint(DISABLE_DEPTH_TEST);
stroke(255);
fill(0, 255, 255, 100);
box(width);
hint(ENABLE_DEPTH_TEST);
noStroke();
lights();
fill(255);
sphere(100);
}