Сообщение от НУБ
4 - скалярное умножение нормалей, такой тип смешивания используется в бамп мапинге, текстура нормалей получается либо из карты высот(по средством плагина для фотожопа например, хоя можно и самому сделать), либо через хай-поли модель(в melody или в 3д максе начиная с 7-го). Для попиксельного освещения с картой нормалей нужно проецировать на мешь текстуру этого самого освещения(тоже карта нормалей с направлением света), обычное вершинное освещение здесь работать не будет.
Выглядеть это может так:
1й слой - карта нормалей с блендом 2
2й - карта освещения с блендом 4(1 и 2 можно поменять местами)
3 - дефуз(2 или 5 бленд)
|
У меня такой код нормально работает:
Graphics3D 1024,768,32,1
SetBuffer BackBuffer()
cam=CreateCamera()
lit=CreateLight(1)
apel=CreateSphere(32)
PositionEntity apel,0,0,4
atex=LoadTexture("texture.png")
EntityTexture apel,atex,0,1
bump=LoadTexture("Orange-bumpmap.bmp")
TextureBlend bump,4
EntityTexture apel,bump,0,0
While Not KeyHit(1)
TurnEntity apel,0,1,0
TurnEntity cam,0,KeyDown(203)-KeyDown(205),0
MoveEntity cam,0,0,KeyDown(200)*0.1-KeyDown(208)*0.1
r#=(EntityX(apel)+1.1) *128.0
g#=(EntityZ(apel)+1.1) *128.0
b#=(EntityY(apel)+1.1) *128.0
EntityColor apel,r#,g#,b#
RenderWorld
Flip
Wend
End
Причем не только нормально, но и красиво
ЗЫЖ У меня как получилось, я сразу на радостях стал статью писать, чтоб другие как я пару месяцев не мучались))