Page 1 of 1

irrBlitz

Posted: Mon Apr 04, 2005 8:10 am
by AlexL
Been working on a wrapper for Blitz3D with the Irrlicht Engine for quite some time now, on and off. I was going to stop working on it when I heard that theduck started working on one, but from what I've heard from him, he won't be working on it anymore.

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

Posted: Tue Apr 05, 2005 2:47 am
by theduck
Nice job! I can't wait to see it. I will be wrapping something to Blitz soon.
Not sure, maybe start back up on the irr wrapper......

Posted: Tue Apr 05, 2005 8:38 pm
by DarkWhoppy
Nice nice, 8)