Решение всетаки существует )) уже прикручиваю.
Работает с помощью функции Rect , только нужо было не упираться в рисование альфы, а поставить правильный бленд "шторке" прикрывающей левел.
radiantor дал пример:
Graphics3D 800, 600, 32;, 1
SetBuffer BackBuffer()
SeedRnd MilliSecs()
cam=CreateCamera()
MoveEntity cam,25,25,0
TurnEntity cam,60,0,0
tex3=CreateTexture(256,256,7); Текстура маска
ScaleTexture tex3,50,50
TextureBlend tex3,1 ; Со смешиванием текстур у мя туго, но методом тыка нашел что вот с этим работает
plane=CreatePlane()
EntityTexture plane,tex3,0,2
EntityBlend plane,2 ; И вот это тоже нужно.
; Думаю есть более правильный способ наложения, но пока сойдет
plane2=CreatePlane(); Типа сама карта - поле сражения
;Чтоб было виднее эффект, можно наложить на этот плейн текстуру
EntityColor plane2,256,0,0
MoveEntity plane2,0,-5,0
AmbientLight 100,100,100
While Not KeyHit(1)
time = MilliSecs()
Color 255,255,255
SetBuffer TextureBuffer(tex3)
Cls
For i%=1 To 1000 ;
Oval Rand(256),Rand(256),5,5,1 ; Пятно для каждого из 1000! юнитов
Next
SetBuffer BackBuffer()
RenderWorld
fr = fr + 1
If MilliSecs() - frTime >= 1000
fps = fr
fr = 0
frTime = MilliSecs()
EndIf
Color 255, 255, 255
Text 5, 5, "FPS : " + fps
Flip 0
Delay 0
Wend
End
резульат )
http://damp.ucoz.ru/newfog2.jpg