AdvancedLighting.lua 1.7 KB

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