1 module scene; 2 3 import dagon; 4 5 class MyScene: Scene 6 { 7 Game game; 8 9 this(Game game) 10 { 11 super(game); 12 this.game = game; 13 } 14 15 override void beforeLoad() 16 { 17 // Create assets 18 // aModel = addOBJAsset("assets/model.obj"); 19 // aTexture = addTextureAsset("assets/texture.png"); 20 } 21 22 override void onLoad(Time t, float progress) 23 { 24 } 25 26 override void afterLoad() 27 { 28 auto camera = addCamera(); 29 auto freeview = New!FreeviewComponent(eventManager, camera); 30 freeview.zoom(10); 31 freeview.pitch(-30.0f); 32 freeview.turn(10.0f); 33 game.renderer.activeCamera = camera; 34 35 auto sun = addLight(LightType.Sun); 36 sun.shadowEnabled = true; 37 sun.energy = 10.0f; 38 sun.pitch(-45.0f); 39 40 auto matRed = addMaterial(); 41 matRed.diffuse = Color4f(1.0, 0.2, 0.2, 1.0); 42 43 auto eCube = addEntity(); 44 eCube.drawable = New!ShapeBox(Vector3f(1, 1, 1), assetManager); 45 eCube.material = matRed; 46 eCube.position = Vector3f(0, 1, 0); 47 48 auto ePlane = addEntity(); 49 ePlane.drawable = New!ShapePlane(10, 10, 1, assetManager); 50 51 game.deferredRenderer.ssaoEnabled = true; 52 game.deferredRenderer.ssaoPower = 6.0; 53 game.postProcessingRenderer.fxaaEnabled = true; 54 } 55 56 override void onUpdate(Time t) { } 57 override void onKeyDown(int key) { } 58 override void onKeyUp(int key) { } 59 override void onMouseButtonDown(int button) { } 60 override void onMouseButtonUp(int button) { } 61 }