3d no Processing
Transformações e Primitivas
Desenha caixa 3d
+ - Sintaxe
+ - Parâmetros
void setup() {
size(400, 400, P3D);
}
void draw() {
background(0);
translate(200, 200, 0);
rotateY(map(mouseX, 0, width, -PI, PI));
box(200);
}
+ - Sintaxe
sphereDetail altera o detalhamento da esfera
void setup() {
size(400, 400, P3D);
}
void draw() {
background(0);
translate(200, 200, 0);
rotateX(map(mouseY, 0, width, -PI, PI));
sphere(100);
sphereDetail(mouseX);
}
+ - Função ambientLight
+ - Sintaxe
+ - Parâmetros
size(100, 100, P3D);
background(0);
noStroke();
ambientLight(50, 255, 102);
translate(32, 50, 0);
rotateY(PI/5);
box(40);
translate(60, 0, 0);
sphere(30);
Não vem de uma direção específica
O objeto é iluminado igualmente em todos os lados
+ - Função directionalLight
+ - Sintaxe
+ - Parâmetros
void setup() {
size(400, 400, P3D);
noStroke();
}
void draw() {
background(0);
ambientLight(128, 128, 128);
directionalLight(0,255,0, -1, 0,0);
translate(width/2, height/2, 0);
rotateY(map(mouseX, 0, width, 0, 2*PI));
rotateX(map(mouseY, 0, height, 0, 2*PI));
box(100);
}
Luz que vem de uma direção
Sem localização específica
Luz paralela
Mais forte nas áreas quadradas
Mais fraco nas angulações
O sol
+ - Função pointLight
+ - Sintaxe
+ - Parâmetros
void setup() {
size(400,400,P3D);
noStroke();
}
void draw() {
background(0);
ambientLight(128,128,128);
pointLight(255,0,0,mouseX, mouseY, 0);
directionalLight(0,255,0,-1,0,0);
translate(100,height/2);
sphere(70);
translate(200,0);
sphere(70);
}
Proveniente de um ponto
Com localização específica
Espalha a partir do ponto
+ - Função spotLight
+ - Sintaxe
+ - Parâmetros
void setup() {
size(400,400,P3D);
noStroke();
}
void draw() {
background(0);
ambientLight(128,128,128);
spotLight(255,0,0,mouseX, mouseY, 300, 0,0,-1, PI/12, 2);
//pointLight(255,0,0,mouseX, mouseY, 300);
directionalLight(0,255,0,-1,0,0);
translate(width/2,height/2);
sphereDetail(100);
sphere(100);
}
Proveniente de um ponto
Com localização específica
Gera um cone de luz a partir do ponto