/* This file contains proprietary software owned by Motorola Mobility, Inc.
No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.
(c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved.
*/ // RDGE namespaces var RDGE = RDGE || {}; /* * shadow light - a modified camera used to describe a shadow casting light */ RDGE.shadowLight = function () { // inherit from the base class this.inheritedFrom = RDGE.camera; this.inheritedFrom(); // matrices needed for shadow projection this.invViewMatrix = RDGE.mat4.identity(); this.mvpMatrix = RDGE.mat4.identity(); // texture matrix this.shadowMatrix = RDGE.mat4.identity(); this.shadowMatrix = RDGE.mat4.scale(this.shadowMatrix, [0.5, 0.5, 0.5]); this.shadowMatrix = RDGE.mat4.translate(this.shadowMatrix, [0.5, 0.5, 0.5]); // cached references this.renderer = null; this.cameraManager = null; // shadow bias offset this.shadowBias = 0.0195; this.init = function () { this.renderer = RDGE.globals.engine.getContext().renderer; this.cameraManager = this.renderer.cameraManager(); }; /* * makes the light the current 'camera' */ this.activate = function () { this.cameraManager.pushCamera(this); }; /* * restores the camera stack */ this.deactivate = function () { this.cameraManager.popCamera(); }; }