Skip to content

Instantly share code, notes, and snippets.

@thure
Last active August 29, 2015 14:19
Show Gist options
  • Save thure/8cef24e328bd564d99a5 to your computer and use it in GitHub Desktop.
Save thure/8cef24e328bd564d99a5 to your computer and use it in GitHub Desktop.
An AMD definition of alteredq's THREE.RenderPass object.
/**
* @author alteredq / http://alteredqualia.com/
*/
define(function(require, exports, module){
var THREE = require('three');
function RenderPass ( scene, camera, overrideMaterial, clearColor, clearAlpha ) {
this.scene = scene;
this.camera = camera;
this.overrideMaterial = overrideMaterial;
this.clearColor = clearColor;
this.clearAlpha = ( clearAlpha !== undefined ) ? clearAlpha : 1;
this.oldClearColor = new THREE.Color();
this.oldClearAlpha = 1;
this.enabled = true;
this.clear = true;
this.needsSwap = false;
};
RenderPass.prototype = {
render: function ( renderer, writeBuffer, readBuffer, delta ) {
this.scene.overrideMaterial = this.overrideMaterial;
if ( this.clearColor ) {
this.oldClearColor.copy( renderer.getClearColor() );
this.oldClearAlpha = renderer.getClearAlpha();
renderer.setClearColor( this.clearColor, this.clearAlpha );
}
renderer.render( this.scene, this.camera, readBuffer, this.clear );
if ( this.clearColor ) {
renderer.setClearColor( this.oldClearColor, this.oldClearAlpha );
}
this.scene.overrideMaterial = null;
}
};
module.exports = RenderPass;
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment