Hey ive been toying with IrrBMAX for a little while (thanks Gman) and its awesome ive got my mesh loaded in and started learning my way around irrlicht prety good. My question though is with the following code I cant seem to get a light to show up and shine onto this model (terrain.B3d)
Strict Import BRL.StandardIO Import gg.IrrBMAX Include "B3DLoader.bmx" Global node:T_irrISceneNode Type MyEventReceiver Extends T_irrIEventReceiver Method OnEvent:Int(event:T_irrSEvent) If (node<>Null And event.getEventType()=EET_KEY_INPUT_EVENT And event.getKeyPressedDown()=False) Local key:Int=event.getKeyInputKey() Select key Case EKEY_KEY_W 'Move Forward Return True Case EKEY_KEY_S 'Move Backwards Return True Case EKEY_ESCAPE End Return True Default Return False EndSelect EndIf Return False EndMethod Function generate:T_irrIEventReceiver() Return T_irrIEventReceiver(New MyEventReceiver) EndFunction EndType Local receiver:T_irrIEventReceiver=T_irrIEventReceiver.create(MyEventReceiver.generate) Local device:T_irrIrrlichtDevice=T_irrIrrlichtDevice.create( .. EDT_DIRECT3d9, .. T_irrDimension2d_s32.create(1024,768), .. 32,True,False,False,receiver) Local driver:T_IrrIVideoDriver = device.getVideoDriver() Local smgr:T_irrISceneManager = device.getSceneManager() Local loader:B3DLoader = B3DLoader(B3DLoader.create(B3DLoader.generate)) smgr.AddExternalMeshLoader(T_irrIMeshLoader.createFromHandle(loader.handle)) loader.driver = driver If device.handle=0 Then Return ' could Not create selected driver. driver.setFog(T_irrSColor.createFromVals(0,138,125,81), True, 250, 1000, .. 0, True) Local light1:T_irrILightSceneNode = .. smgr.addLightSceneNode(Null, T_irrVector3df.createFromVals(0,30,0), .. T_irrSColorf.createFromRGBA(0.5, 1.0, 0.5, 0.0), 180.0) Local mesh : T_irrIAnimatedMesh = smgr.getMesh("Terrain.b3d") Local selector:T_irrITriangleSelector If mesh.handle node = smgr.addOctTreeSceneNode(mesh.getmesh(0)) End If If node.handle node.setScale(T_irrvector3df.createFromVals(10,10,10)) node.setPosition(T_irrvector3df.createFromVals(10,-10,-10)) 'node.setMaterialTexture(1,texture) node.setMaterialFlag(EMF_LIGHTING,False) 'node.setMaterialType(EMT_LIGHTMAP) 'node.setMaterialType(EMT_LIGHTMAP) node.setMaterialFlag(EMF_FOG_ENABLE, True) selector = smgr.createOctTreeTriangleSelector(mesh.getMesh(0), node) node.setTriangleSelector(selector) End If Local camera:T_irrICameraSceneNode=smgr.addCameraSceneNodeFPS(Null,100.0,20.0,-1,Null,True) Local anim:T_irrISceneNodeAnimator=smgr.createCollisionResponseAnimator( .. selector, camera, T_irrVector3df.createFromVals(1,4,1), .. T_irrVector3df.createFromVals(0,-3,0), .. T_irrVector3df.createFromVals(0,4,0)) 'camera.addAnimator(anim) 'device.getCursorControl().setVisible(False) smgr.addCameraSceneNodeFPS(0, 100.0, 100.0) device.getCursorControl().setVisible(False) Local lastFPS:Int = -1 Local fps:Int=0 Local str:String="" While(device.run()) driver.beginScene(True, True, T_irrSColor.createFromVals(0,200,200,200)) smgr.drawAll() driver.endScene() fps = driver.getFPS() If (lastFPS <> fps) Then str$ = "Test Stuff" str$ :+ driver.getName() str$ :+ "] FPS:" str$ :+ fps device.setWindowCaption(str$) lastFPS = fps EndIf Flip Wend device.drop()