Последний раз когда пользовался ашадоу для подобной задачи - всё работало без нареканий. Цель: фрагментировано осветить лабиринт.
В актуальной реализации, стенки лабиринта (на это грешу) создаются следующим кодом:
Function TLevel_MISC_CreateWallSprite%(zx#,y#,TF%)
Local cx#, cy#, cz#, mesh%, surf%, v1%, v2%, v3%, v4%
cx = zx * 0.5
cy = y * 0.5
cz = 0
mesh = CreateMesh()
br=CreateBrush()
If TF<>0
BrushTexture br,TF
EndIf
surf = CreateSurface(mesh,br)
v1 = AddVertex(surf, +cx, +cy, +cz, 0.0, 0.0)
v2 = AddVertex(surf, -cx, +cy, +cz, 1.0, 0.0)
v3 = AddVertex(surf, -cx, -cy, +cz, 1.0, 1.0)
v4 = AddVertex(surf, +cx, -cy, +cz, 0.0, 1.0)
AddTriangle(surf, v1, v2, v3)
AddTriangle(surf, v3, v4, v1)
FreeBrush br
EntityBox mesh,-zx*0.5,-y*0.5,-0.05,zx,y,0.1
CreateReceiver(mesh)
CreateCaster(mesh)
Return mesh
End Function
Наблюдаю следующий артефакт (см. скрнишот).

Серия снимков одного и того же места с разного (слабо отличающегося) расстояния. И под разными углами.
1 снимок - всё идеально, как и должно быть в природе.
2 снимок - чуть двинулся вперед и тень развалилась.
3 снимок - ещё несколько шагов и тень начинает появляться.
4 снимок - влияние угла обзора.
Свет создаётся так (паллиатив):
LIGHT=CreateLight(2)
RotateEntity light,90,0,0
PositionEntity light,*****
LightRange LIGHT,10
LightColor LIGHT,255,255,0
SetSLight(LIGHT,2,100)
ЧЯДНТ?
Ещё один вопрос (уже не касаемо ашадоу, но возможно, связанный с первым).
См. скриншот.

Два кубика прекрасно освещены и малый бросает тень на большой. Тут же мы видим серые унылые стены. Насколько я помню из речей Джокера, в б3д повертексное освещение, и, как я понял, такие скудные (в полигональном смысле) модели будут освещены весьма дискретно и убого (и про тени ашадоу можно тоже забыть). Но что же делать? Усложнять сетку? Или дело в другом?
Спасибо!