Il modello di ombreggiatura used by MMA, il cosiddetto Phong shading, determina l'intensità dei pixel in base a una semplice relazione tra l'orientamento della superficie locale, direzione (s) della sorgente luminosa, direzione della telecamera e proprietà diffuse e speculari della superficie. Nessun altro aspetto della geometria viene preso in considerazione, il che significa che gli oggetti non influenzano i valori dei pixel di altri oggetti, anche se si trovano tra l'oggetto e la sorgente luminosa.
Ciò significa che il modello non genera ombre. Non è in grado di
È possibile simulare le ombre da soli proiettando i poligoni del proprio oggetto sul piano terra o sui piani del muro, a seconda dei casi. Non dovrebbe essere troppo difficile, ma le ombre su superfici non planari saranno piuttosto difficili.
Esempio:
polys = (PolyhedronData["GreatRhombicTriacontahedron", "Faces"] //
Normal // N) /. {x_, y_, z_}?VectorQ -> {x, y, z + 6};
(* raise it slightly above ground plane*)
shadow = polys /. {x_, y_, z_}?VectorQ -> {x - z, y, 0};
(* projection from a directional light source at 45 deg elevation *)
Graphics3D[{polys, EdgeForm[], FaceForm[[email protected]], shadow},
Lighting -> {{"Directional", White, {{1, 0, 1}, {0, 0, 0}}}},
Boxed -> False]

Naturalmente, è necessario assicurarsi che le fonti di illuminazione (punto, punto, direzionale ...) e la vostra proiezione dell'ombra sono coerenti.
Per quanto ne so, la soluzione più semplice è utilizzare un programma di raytracer esterno ed esportare la geometria. L'ho fatto usando Kerkythea (facile da imparare/usare per cose semplici, freeware). – Szabolcs
Sembra molto bello. Attualmente sto sviluppando utilizzando un'architettura stage/attore/regista, dove attualmente lo stage è 'Graphics3D'. Quello che supponi funziona solo per una scena. Comunque vale la pena provare, grazie. –