/src/AlphaMapTest.as

https://github.com/osoker/away3d-examples-broomstick
ActionScript | 88 lines | 66 code | 16 blank | 6 comment | 0 complexity | f178404b926218ef6ca5ec46555f5c75 MD5 | raw file
  1. package
  2. {
  3. import away3d.containers.View3D;
  4. import away3d.lights.DirectionalLight;
  5. import away3d.lights.LightBase;
  6. import away3d.lights.PointLight;
  7. import away3d.materials.BitmapMaterial;
  8. import away3d.primitives.Cube;
  9. import away3d.primitives.Plane;
  10. import away3d.primitives.Sphere;
  11. import away3d.containers.ObjectContainer3D;
  12. import flash.display.BitmapData;
  13. import flash.display.Sprite;
  14. import flash.display.StageAlign;
  15. import flash.display.StageScaleMode;
  16. import flash.events.Event;
  17. import flash.utils.getTimer;
  18. [SWF(width="1024", height="576", frameRate="60")]
  19. public class AlphaMapTest extends Sprite
  20. {
  21. private var _view : View3D;
  22. private var _ctr : ObjectContainer3D;
  23. private var _light : PointLight;
  24. [Embed(source="../embeds/alphaMap.png")]
  25. private var Albedo : Class;
  26. private var _camController : HoverDragController;
  27. public function AlphaMapTest()
  28. {
  29. super();
  30. _view = new View3D();
  31. _view.antiAlias = 4;
  32. _camController = new HoverDragController(_view.camera, stage);
  33. _camController.radius = 500;
  34. this.addChild(_view);
  35. this.addEventListener(Event.ENTER_FRAME, _handleEnterFrame);
  36. _ctr = new ObjectContainer3D();
  37. _view.scene.addChild(_ctr);
  38. var material : BitmapMaterial = new BitmapMaterial(new Albedo().bitmapData);
  39. // material.normalMap = new Normals().bitmapData;
  40. material.ambientColor = 0x080820;
  41. material.ambient = 1;
  42. // material.transparent = true;
  43. material.alphaThreshold = .5;
  44. // material.transparent = true;
  45. // material.specularMethod = null;
  46. _ctr.addChild(new Plane(material)).x = -200;
  47. _ctr.addChild(new Cube(material, 100, 100, 100, 11, 7, 25, false));
  48. _ctr.addChild(new Sphere(material)).x = 200;
  49. _light = new PointLight();
  50. _light.x = -1000;
  51. _light.y = 1000;
  52. _light.z = -1000;
  53. _light.color = 0xffeeaa;
  54. // material.lights = [_light];
  55. _view.scene.addChild(_light);
  56. stage.scaleMode = StageScaleMode.NO_SCALE;
  57. stage.align = StageAlign.TOP_LEFT;
  58. stage.addEventListener(Event.RESIZE, onStageResize);
  59. }
  60. private function onStageResize(event : Event) : void
  61. {
  62. _view.width = stage.stageWidth;
  63. _view.height = stage.stageHeight;
  64. }
  65. private function _handleEnterFrame(ev : Event) : void
  66. {
  67. _ctr.rotationY += .1;
  68. //_ctr.rotationX = 20 * Math.sin(getTimer() * 0.002);
  69. _view.render();
  70. }
  71. }
  72. }