So anyways, I've just gotten finished with adding the normal mapping features of Irrlicht into the wrapper, and I'm about to move onto shaders and user input. After those two items are added in, I'll be able to release the wrapper for testing.
Anyways, here's a movie showing off the newly added normal mapping, along with shadow volumes, per-pixel light and MD2 loading/animation. For those who don't have the time to download the video, or are stuck on 56k. There is a screenshot so you can semi-sorta see what it looks like, though it is far more impressive when running the video as you get more of a sence of what is going on. Also, here is the source to this demo, to show how easy it was to setup this scene and get it running.
VIDEO - 3.46mb
IMAGE - 116kb
Code: Select all
Graphics 320,240,0,2
AppTitle "irrBlitz Console","Exit Application?"
eInit = irrInit(640,480,16,False,"irrBlitz",False,False)
If eInit = 0
RuntimeError("Failed to create the device"):EndIf
irrAddFPSCamera()
defuseTex_001 = irrLoadTexture(".\datas\sto001.jpg")
defuseTex_002 = irrLoadTexture(".\datas\awall_color.jpg")
normalTex_001 = irrLoadTexture(".\datas\sto001n.bmp")
irrConvertNormalMap(normalTex_001,10)
light = irrAddLight(100,100,80,60)
anim = irrAddAnimator(light,0,0,150,0,250)
mesh = irrLoadAnimMesh(".\datas\room.3ds")
mNode = irrAddNode(mesh)
mNodeTangent = irrSetMeshTangents(mNode)
irrSetMeshTexture(mNodeTangent,defuseTex_001,0)
irrSetMeshTexture(mNodeTangent,normalTex_001,1)
irrSetMeshFlags(mNodeTangent,EMF_LIGHTING,False)
irrSetMeshType(mNodeTangent,EMT_NORMAL_MAP_SOLID)
mesh2 = irrLoadAnimMesh(".\datas\faerie.md2")
mNode2 = irrAddNode(mesh2)
irrSetMeshTexture(mNode2,defuseTex_002,0)
irrSetMeshFlags(mNode2,EMF_LIGHTING,False)
irrPositionNode(mNode2,-50,48,-120)
irrScaleNode(mNode2,2,2,2)
irrSetMD2AnimLoop(mNode2,EMT_STAND)
irrAddShadowVolume()
While irrDeviceRunning() = 1
irrBeginUpdate()
irrRender()
irrEndUpdate()
Wend
eEnd = irrEnd()
If eEnd = 0
RuntimeError("Failed to destroy the device"):EndIf