/src/away3d/lights/shadowmaps/PlanarShadowMapper.as
http://github.com/away3d/away3d-core-fp11 · ActionScript · 44 lines · 32 code · 6 blank · 6 comment · 0 complexity · 1bf8df08514f117e0d5d254a2b4e81ef MD5 · raw file
- /**
- * Author: David Lenaerts
- */
- package away3d.lights.shadowmaps
- {
- import away3d.arcane;
- import away3d.cameras.Camera3D;
- import away3d.containers.Scene3D;
- import away3d.core.render.DepthRenderer;
- import away3d.lights.LightBase;
- import flash.display3D.textures.TextureBase;
- import flash.geom.Matrix3D;
- use namespace arcane;
- public class PlanarShadowMapper extends ShadowMapperBase
- {
- protected var _depthCamera : Camera3D;
- public function PlanarShadowMapper(light : LightBase)
- {
- super(light);
- _depthCamera = new Camera3D();
- }
- /**
- * Depth projection matrix that projects from scene space to depth map.
- */
- override arcane function get depthProjection() : Matrix3D
- {
- return _depthCamera.viewProjection;
- }
- override protected function drawDepthMap(target : TextureBase, scene : Scene3D, renderer : DepthRenderer) : void
- {
- _casterCollector.clear();
- _casterCollector.camera = _depthCamera;
- scene.traversePartitions(_casterCollector);
- renderer.render(_casterCollector, target);
- _casterCollector.cleanUp();
- }
- }
- }