AdvancedLighting.lua 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. Services.ResourceManager:addDirResource("Resources", false)
  2. scene = Scene(Scene.SCENE_3D)
  3. ground = ScenePrimitive(ScenePrimitive.TYPE_PLANE, 5,5)
  4. ground:setMaterialByName("GroundMaterial", Services.ResourceManager:getGlobalPool())
  5. scene:addEntity(ground)
  6. box = ScenePrimitive(ScenePrimitive.TYPE_TORUS, 0.8,0.3,30,20)
  7. box:setMaterialByName("CubeMaterial", Services.ResourceManager:getGlobalPool())
  8. box:setPosition(0.0, 0.5, 0.0)
  9. scene:addEntity(box)
  10. lightBase = Entity()
  11. scene:addChild(lightBase)
  12. light = SceneLight(SceneLight.POINT_LIGHT, scene, 20)
  13. light:setPosition(3,2,7)
  14. light:setLightColor(1,0,0)
  15. scene:addLight(light)
  16. light = SceneLight(SceneLight.POINT_LIGHT, scene, 20)
  17. light:setPosition(-3,2,7)
  18. light:setLightColor(0,1,0)
  19. scene:addLight(light)
  20. light = SceneLight(SceneLight.POINT_LIGHT, scene, 20)
  21. light:setPosition(-3,2,-7)
  22. light:setLightColor(0,0,1)
  23. scene:addLight(light)
  24. light = SceneLight(SceneLight.POINT_LIGHT, scene, 20)
  25. light:setPosition(3,2,-7)
  26. light:setLightColor(1,0,1)
  27. scene:addLight(light)
  28. light = SceneLight(SceneLight.SPOT_LIGHT, scene, 10)
  29. light:setPosition(0,3,1)
  30. light:setLightColor(1,1,0)
  31. scene:addLight(light)
  32. lightBase:addChild(light)
  33. light:lookAt(Vector3(0,0,0), Vector3(0,1,0))
  34. light:enableShadows(true)
  35. light = SceneLight(SceneLight.SPOT_LIGHT, scene, 10)
  36. light:setPosition(0,3,-1)
  37. light:setLightColor(0,1,1)
  38. scene:addLight(light)
  39. lightBase:addChild(light)
  40. light:lookAt(Vector3(0,0,0), Vector3(0,1,0))
  41. light:enableShadows(true)
  42. scene:getDefaultCamera():setPosition(5,5,5)
  43. scene:getDefaultCamera():lookAt(Vector3(0,0,0), Vector3(0,1,0))
  44. function Update(elapsed)
  45. lightBase:setYaw(lightBase:getYaw()+ (elapsed * 10.0))
  46. end