1. package
  2. {
  3. import away3d.core.filter.FogFilter;
  4. import away3d.core.render.BasicRenderer;
  5. import away3d.extrusions.Elevation;
  6. import away3d.extrusions.SkinExtrude;
  7. import away3d.materials.ColorMaterial;
  8.  
  9. public class ApplicationManager extends BaseObject
  10. {
  11. public static const SUBDIVIDE_X:int = 20;
  12. public static const SUBDIVIDE_Y:int = 20;
  13. public static const SCALE_X:int = 5;
  14. public static const SCALE_Y:int = 5;
  15. public static const SCALE_Z:int = 1;
  16.  
  17. protected var mesh:MeshObject = null;
  18. protected var moveableCamera:MoveableCamera = null;
  19.  
  20. public function ApplicationManager()
  21. {
  22. super();
  23. }
  24.  
  25. public function startupApplicationManager(engineManager:EngineManager):ApplicationManager
  26. {
  27. super.startupBaseObject(engineManager);
  28.  
  29. var elevate:Elevation = new Elevation();
  30. var extrude:SkinExtrude = new SkinExtrude(
  31. elevate.generate(engineManager.MyResourceManager.HeightmapTex, "r", SUBDIVIDE_X, SUBDIVIDE_Y, SCALE_X, SCALE_Y, SCALE_Z),
  32. {
  33. material:engineManager.MyResourceManager.TerrainTex,
  34. recenter:true,
  35. closepath:false,
  36. coverall:true,
  37. subdivision:1,
  38. bothsides:false,
  39. flip:false
  40. }
  41. );
  42. extrude.rotationX = 90;
  43. extrude.x = extrude.z = 0;
  44. extrude.y = 0;
  45.  
  46. mesh = new MeshObject().startupObject3DMeshObject(engineManager, extrude);
  47.  
  48. moveableCamera = new MoveableCamera().startupMoveableCamera(engineManager);
  49.  
  50. var fogColour:ColorMaterial = new ColorMaterial(0x002222);
  51. var renderer:BasicRenderer = (engineManager.view.renderer as BasicRenderer);
  52. var filters:Array =
  53. [new FogFilter({
  54. minZ:50,
  55. maxZ:1000,
  56. subdivisions:20,
  57. material:fogColour})
  58. ];
  59. renderer.filters = filters;
  60.  
  61. return this;
  62. }
  63.  
  64. public override function shutdown():void
  65. {
  66. super.shutdown();
  67. }
  68.  
  69. public override function enterFrame(dt:Number):void
  70. {
  71.  
  72. }
  73.  
  74. }
  75. }