DX lights don't calculate light intensity by normals, do they?

Blitz3D Forums/Blitz3D Programming/DX lights don't calculate light intensity by normals, do they?

I just noticed that a face on a spinning cube will either be fully lit or unlit, but there is no falloff as the face approaches parallel with the light position. Run this Blitz3D code and then look at this OpenGL demo:
http://www.leadwerks.com/demo.zip

The OpenGL demo uses coded vertex lights, not GL lights. I don't know if GL lights behave like DX lights or not.

Graphics3D 800,600,32,2
SetBuffer BackBuffer()

l=CreateLight(2)

PositionEntity l,100,0,0

cam=CreateCamera()
MoveEntity cam,0,0,-20

world=CreatePivot()

Dim box(200)

For n=0 To 100
	box(n)=CreateCube(world)
	MoveEntity box(n),Rnd(-10,10),Rnd(-10,10),Rnd(-10,10)
	ScaleMesh box(n),.5,.5,.5
	Next

While Not KeyHit(1)
	TurnEntity world,0,1,0
	RenderWorld
	Text 0,0,FPS()
	Flip
	Wend
End

Global fpstime
Global lastupdate
Global oldfps

Function FPS()
oldtime=fpstime
fpstime=MilliSecs()
elapsed=fpstime-oldtime
If Not elapsed elapsed=1
time=Int(MilliSecs()/1000)
If time>lastupdate
	lastupdate=time
	oldfps=1000/elapsed
	EndIf
Return oldfps	
End Function