Both of these inputs seem to give exactly the same output:
Graphics3D[{Red, Cuboid[{-1, -1, -1}], Green, Cuboid[{1, 1, 1}]}]
Graphics3D[{{Red, Cuboid[{-1, -1, -1}]}, {Green, Cuboid[{1, 1, 1}]}}]
In the first, the argument to Graphics3D is a 1-dimensional list, and the scope of each colour directive seems to be the primitives that follow until the next directive is encountered. In the second, the argument is a 2-dimensional array, where directives have been safely packaged together with the primitive to which they are supposed to apply.
Is either form preferred ? Does it ever make any difference which one uses ?
Graphics
andGraphics3D
process their input in a bit different way then the "ordinary" language. As first approximation, you may assume that it appliesFlatten
onto its first argument (if the first argument is a list). So, IMHO, it just does not matter. $\endgroup$