culling
Test if a plane is within the view of the camera (aka testing if culled)
Once a plane leaves the camera’s view, it will turn red. So the next time you see it, you will be able to see that it has been culled before. Hit the space bar to reset all to green.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | package { import flash.events.Event; import flash.events.KeyboardEvent; import flash.ui.Keyboard; import org.papervision3d.cameras.CameraType; import org.papervision3d.materials.ColorMaterial; import org.papervision3d.objects.primitives.Plane; import org.papervision3d.view.BasicView; [SWF(width="900", height="480", backgroundColor="#000000", frameRate="31")] public class TestIfCulled extends BasicView { public function TestIfCulled() { super(900, 480, true, false, CameraType.DEBUG); //sidenote: if you don't want objects culled, disable culling //camera.useCulling = false; var length:int = 120; for(var i:int = 0; i < length; i++) { var greenMaterial:ColorMaterial = new ColorMaterial(0x00cc00); var plane:Plane = new Plane(greenMaterial); plane.x = Math.random() * 6000 - 3000; plane.y = Math.random() * 6000 - 3000; plane.z = Math.random() * 6000; scene.addChild(plane); } startRendering(); trace("hit the space bar to reset visible planes to green"); stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); } protected function keyDownHandler(event:KeyboardEvent):void { //reset all the visible to green when you hit space if(event.keyCode == Keyboard.SPACE) { for each(var plane:Plane in scene.children) { plane.material.fillColor = 0xc00cc00; } } } override protected function onRenderTick(event:Event=null):void { super.onRenderTick(event); for each(var plane:Plane in scene.children) { //if it's culled change to red if(plane.culled) { plane.material.fillColor = 0xcc0000; } } } } } |
Search
Recommended Books
Speaking at FITC Toronto
Recent Posts
- Moving to johnlindquist.com
- AsyncCommand with Robotlegs, Signals, Flight, MinimalComps
- Search Widget – Robotlegs, Signals, Flight, Minimal Comps, Yahoo Astra
- FDT Super Awesome March Deal
- FDT Theme Designer
- haXe Tutorial
- AS3 Signals Tutorial
- Preferred Video Tutorial Resolution?
- TweenMax – Tweening a timeline (Advanced Tweening)
- Robotlegs + Flight + Union Platform
- Back in the saddle
- Eclipse Theme Designer Preview
- RobotLegs Hello World Video Tutorial
- 10 Things Every Senior Flash Developer Should Know
- Efflex – 3D Effects for Flex
Recent Comments
- software akuntansi terbaik on Back in the saddle
- loan rates on Augmented Reality – Recursive Webcam
- loan rates on Looking around the inside of a Sphere
- reverse phone lookup on Looking around the inside of a Sphere
- Oidhreachta on The Spotlight Effect (Dimming the unselected)
- Hosting company on archive
- aanbae on Back in the saddle
- Domain registration on Looking around the inside of a Sphere
- website designing company on Looking around the inside of a Sphere
- Honda Motor on Augmented Reality – Recursive Webcam
Categories
| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| « May | ||||||
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | ||||
Archives
Preferred Video Tutorial Resolution
- 1024x768 (53%, 85 Votes)
- 1280x1024 (15%, 24 Votes)
- 1920x1080 (15%, 24 Votes)
- 800x600 (13%, 20 Votes)
- 480x320 (4%, 6 Votes)
- 640x480 (0%, 2 Votes)
Total Voters: 160


