@awayjs/renderer
Version:
Renderer for AwayJS
40 lines (39 loc) • 1.48 kB
JavaScript
import { __extends } from "tslib";
import { RenderGroup } from './RenderGroup';
import { RendererBase } from './RendererBase';
import { CacheRenderer } from './CacheRenderer';
import { DefaultRenderer } from './DefaultRenderer';
/**
* The DistanceRenderer class renders 32-bit depth information encoded as RGBA
*
* @class away.render.DistanceRenderer
*/
var DistanceRenderer = /** @class */ (function (_super) {
__extends(DistanceRenderer, _super);
/**
* Creates a new DistanceRenderer object.
*/
function DistanceRenderer() {
var _this = _super.call(this) || this;
_this._traverserGroup = RenderGroup.getInstance(CacheRenderer);
_this._maskGroup = RenderGroup.getInstance(DefaultRenderer);
return _this;
}
/**
*
*/
DistanceRenderer.prototype.enterNode = function (node) {
var enter = node._collectionMark != RendererBase._collectionMark && node.isCastingShadow();
if (!enter) {
node._collectionMark = RendererBase._collectionMark;
return false;
}
return _super.prototype.enterNode.call(this, node);
};
DistanceRenderer.registerMaterial = function (renderMaterialClass, materialClass) {
RenderGroup.getInstance(DistanceRenderer).registerMaterial(renderMaterialClass, materialClass);
};
DistanceRenderer.assetType = '[renderer DistanceRenderer]';
return DistanceRenderer;
}(RendererBase));
export { DistanceRenderer };