В один проход такой эффект не сделать, потому что dot3 блендит не только информацию о цвете но и о альфе. Вот набросал код в БлицСДК (самого лица под рукой нет). Папка tex в аттаче
Graphics3D (640, 480, 0, 2)
cam = CreateCamera ()
CameraCLsColor(cam, 255, 66, 66)
CameraProjMode(cam, 2)
CameraZoom(cam, 0.5)
BumpMap=LoadTexture("tex\map-falloff.jpg", 1+16+32)
LightMap=LoadTexture("tex\map-falloff-diff.jpg", 1+16+32)
WallDiff=LoadTexture("tex\wall\wall_diff.jpg")
WallBump=LoadTexture("tex\wall\bump.jpg")
TextureBlend(WallBump, 4)
Wall=CreateCube()
MoveEntity(Wall, 0, 0, 3.2)
EntityFx(Wall, 1)
EntityTexture(Wall, BumpMap, 0, 0)
EntityTexture(Wall, WallBump, 0, 1)
EntityTexture(Wall, WallDiff, 0, 2)
CharDiffAlpha=LoadTexture("tex\char\diff_alpha.png", 1+2)
CharBump=LoadTexture("tex\char\bump.bmp", 1)
TextureBlend(CharBump, 4)
CharAlpha=LoadTexture("tex\char\alpha2.bmp", 1) ;NOT ALPHA, WILL MULTIPLY
Char=CreateCube()
MoveEntity(Char, 0, 0, 3.1)
EntityFx(Char, 1+32)
EntityTexture(Char, CharDiffAlpha,0, 0)
EntityTexture(Char, LightMap,0, 1)
CharFX=CreateCube()
MoveEntity(CharFX, 0, 0, 3.0)
EntityFx(CharFX, 1)
EntityTexture(CharFX, BumpMap,0, 0)
EntityTexture(CharFX, CharBump,0, 1)
EntityTexture(CharFX, CharAlpha,0, 2)
EntityBlend(CharFX, 3)
Repeat
If KeyDown(57)=0
PositionTexture(BumpMap, Sin(Millisecs()*0.0015)*0.5, Cos(Millisecs()*0.0025)*0.50)
PositionTexture(LightMap, Sin(Millisecs()*0.0015)*0.5, Cos(Millisecs()*0.0025)*0.50)
EndIf
RenderWorld ()
Flip ()
Until KeyHit (1)