Показать сообщение отдельно
Старый 05.02.2010, 15:02   #6
Damp
Знающий
 
Регистрация: 12.07.2007
Сообщений: 297
Написано 50 полезных сообщений
(для 133 пользователей)
Ответ: Как сделать туман войны?

Решение всетаки существует )) уже прикручиваю.
Работает с помощью функции 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
(Offline)
 
Ответить с цитированием
Эти 5 пользователя(ей) сказали Спасибо Damp за это полезное сообщение:
gforcer18 (17.03.2010), mauNgerS (01.02.2011), MOrtAl44444 (01.02.2011), Nex (01.02.2011), Reks888 (05.02.2010)