Processing 使用处理对两台投影仪进行多重渲染(用于基于偏振的3D)
我想在我们学院安装一个3D装置,为此,我想知道,我是否可以在处理过程中安装两个视距分开的摄像头,并将每个摄像头渲染到两个不同的投影仪上,这样,我可以通过极化来混合这些输出并实现3d效果。您可以通过创建PApplet实例并将其添加到新的JFrame窗口来打开第二个处理窗口。下面的示例创建一个简单的草图,打开两个窗口,并在其中一个窗口中绘制一个稍微向左移动的圆,在第二个窗口中绘制一个稍微向右移动的圆。这些窗口可以放置在不同的投影仪上Processing 使用处理对两台投影仪进行多重渲染(用于基于偏振的3D),processing,parallax,projector,anaglyph-3d,Processing,Parallax,Projector,Anaglyph 3d,我想在我们学院安装一个3D装置,为此,我想知道,我是否可以在处理过程中安装两个视距分开的摄像头,并将每个摄像头渲染到两个不同的投影仪上,这样,我可以通过极化来混合这些输出并实现3d效果。您可以通过创建PApplet实例并将其添加到新的JFrame窗口来打开第二个处理窗口。下面的示例创建一个简单的草图,打开两个窗口,并在其中一个窗口中绘制一个稍微向左移动的圆,在第二个窗口中绘制一个稍微向右移动的圆。这些窗口可以放置在不同的投影仪上 import javax.swing.JFrame; PFram
import javax.swing.JFrame;
PFrame f;
void setup () {
size(300,300);
PFrame f = new PFrame();
}
void draw() {
background(0);
ellipse(140,150,100,100);
}
public class Second extends PApplet {
public void setup() {
size(300,300);
}
public void draw() {
background(0);
ellipse(160,150,100,100);
}
}
public class PFrame extends JFrame {
public PFrame() {
setBounds(0,0,300,300);
Second s = new Second();
add(s);
s.init();
show();
}
}
从简单到复杂,我有一些想法:
void setup(){
size(200,100,P3D);
noFill();
}
void draw(){
background(255);
stroke(255,0,0);
//view 1
pushMatrix();
camera(70.0, 0.0, 200.0, 50.0, 50.0, 0.0, 0.0, 1.0, 0.0);
drawBox();
popMatrix();
stroke(0,0,255);
//view 2
pushMatrix();
camera(90.0, 0.0, 200.0, 50.0, 50.0, 0.0, 0.0, 1.0, 0.0);
translate(100,0,0);//move everything to the right
drawBox();
popMatrix();
}
void drawBox(){
pushMatrix();
rotateY(map(mouseX,0,width,-PI,PI));
box(50);
popMatrix();
}
方法2:可以从图形代码中分离值/编号更新,并在同一帧中绘制两次,但可以使用实例将其划分为单独的“层”
如果你想分开窗口,你可以在中看到一个代码示例。我喜欢你的实现方式,但我需要在两个单独的投影仪上显示它们。你说的两个投影仪是什么意思?(两个不同的投影矩阵、两个窗口或其他)?它是LCD投影仪,或两个单独的显示器。因此,您希望在一个显示器上显示一个窗口,在另一个显示器/LCD投影仪上显示具有相同3d场景不同视图的另一个窗口,对吗?这就是尼古拉斯在上面的回答,我在上个圣诞前夜链接到了上面。你尝过那些吗?