Показать сообщение отдельно
Старый 29.03.2010, 01:52   #4
voron
Нуждающийся
 
Регистрация: 10.09.2006
Сообщений: 77
Написано 3 полезных сообщений
(для 3 пользователей)
Re: Меш, созданный вручную, проблема с освещением

Копался в коде и нашёл вот что. Пример кода.

Graphics3D 1024,768,16,2
SetBuffer BackBuffer()

light_2=CreateLight()
;cube3=CreateCube(light_2)
PositionEntity light_2,0,20,0

cube=CreateCube()
PositionEntity cube,0,20,-10
cube=CreateCube()
PositionEntity cube,0,20,10
cube=CreateCube()
PositionEntity cube,-10,20,0
cube=CreateCube()
PositionEntity cube,10,20,0

pivot=CreatePivot()                       
camera=CreateCamera(pivot)   

Repeat


If (Not KeyDown(29)) And (KeyDown(205)) MoveEntity pivot ,1,0,0
If (Not KeyDown(29)) And (KeyDown(203)) MoveEntity pivot ,-1,0,0
If (Not KeyDown(29)) And (Not KeyDown (56)) And (KeyDown(200)) MoveEntity pivot ,0,0,1
If (Not KeyDown(29)) And (Not KeyDown (56)) And (KeyDown(208)) MoveEntity pivot ,0,0,-1
If KeyDown (56) And KeyDown (200) TurnEntity camera, -0.5,0,0
If KeyDown (56) And KeyDown (208) TurnEntity camera, 0.5,0,0
If KeyDown (29) And KeyDown (200) MoveEntity pivot, 0,1,0
If KeyDown (29) And KeyDown (208) MoveEntity pivot, 0,-1,0
If KeyDown (29) And KeyDown (203) TurnEntity pivot, 0,2,0
If KeyDown (29) And KeyDown (205) TurnEntity pivot, 0,-2,0

If KeyHit(30) MoveEntity light_2,1,0,0
If KeyHit(44) MoveEntity light_2,-1,0,0

UpdateWorld
RenderWorld
Flip
Until KeyHit(1)

End
По бокам от истоника света я создаю 4 кубика. По идее они иметь светлые грани, которые ближе всего к источнику, т.е. "смотрят на него", но светлые грани создаются с одной стороны, как будто источник света расположен где-то впереди кубов, а не в центре.
(Offline)
 
Ответить с цитированием