@ambientocclusion Here’s an example of 3D without Craft.
displayMode(STANDARD)
function setup()
print("Slide output window down")
parameter.integer("R",-360,360, -170)
parameter.number("x",0,1,.5)
parameter.number("y",0,1,.5)
parameter.number("z",0,1,.5)
parameter.integer("sizex", 0, 50, 20)
parameter.integer("sizey", 0, 50, 20)
parameter.integer("sizez", 0, 50, 20)
c = { color(255, 0, 0, 255), color(0, 255, 0, 255),
color(255, 243, 0, 255), color(0, 0, 255, 255),
color(255, 255, 255, 255), color(255, 0, 189, 255)}
colors = {}
for i = 1, 6 do
for j = 1, 6 do
table.insert(colors,c[i])
end
end
end
function draw()
background(0, 0, 0, 255)
perspective(50)
camera(-500,0,0,0,0,0,0,1,0)
rotate(R,x,y,z)
cube(0,0,0,sizex,sizey,sizez)
end
function cube(x,y,z,w,h,d)
local cube = mesh()
local v = { vec3(x-w,y-h,z+d),vec3(x-w,y+h,z+d),
vec3(x+w,y-h,z+d),vec3(x+w,y+h,z+d),
vec3(x-w,y-h,z-d),vec3(x-w,y+h,z-d),
vec3(x+w,y-h,z-d),vec3(x+w,y+h,z-d)
}
local faces = { v[1],v[2],v[3],v[2],v[3],v[4],v[2],v[4],v[6],v[4],v[6],v[8],
v[1],v[2],v[5],v[2],v[5],v[6],v[3],v[4],v[7],v[4],v[7],v[8],
v[1],v[3],v[5],v[3],v[5],v[7],v[5],v[6],v[7],v[6],v[7],v[8]
}
cube.vertices = faces
cube.colors = colors
cube:draw()
end