2021-05-27 18:32:38 +08:00
|
|
|
///<reference path="Renderer.ts" />
|
|
|
|
|
module es {
|
|
|
|
|
export class DefaultRenderer extends Renderer {
|
|
|
|
|
constructor(renderOrder: number = 0, camera: ICamera = null) {
|
|
|
|
|
super(renderOrder, camera);
|
|
|
|
|
}
|
2021-07-02 20:59:44 +08:00
|
|
|
|
2021-05-27 18:32:38 +08:00
|
|
|
public render(scene: Scene): void {
|
2021-06-11 16:20:01 +08:00
|
|
|
if (!this.renderDirty)
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
this.renderDirty = false;
|
2021-05-27 18:32:38 +08:00
|
|
|
let cam = this.camera ? this.camera : scene.camera;
|
|
|
|
|
this.beginRender(cam);
|
2021-07-02 20:59:44 +08:00
|
|
|
|
2021-05-27 18:32:38 +08:00
|
|
|
for (let i = 0; i < scene.renderableComponents.count; i ++) {
|
|
|
|
|
let renderable = scene.renderableComponents.get(i);
|
|
|
|
|
if (renderable.enabled && renderable.isVisibleFromCamera(scene.camera))
|
|
|
|
|
this.renderAfterStateCheck(renderable, cam);
|
|
|
|
|
}
|
2021-07-02 20:59:44 +08:00
|
|
|
|
2021-05-28 15:45:45 +08:00
|
|
|
if (this.shouldDebugRender && es.Core.debugRenderEndabled) {
|
2021-05-27 18:32:38 +08:00
|
|
|
this.debugRender(scene);
|
2021-05-28 15:45:45 +08:00
|
|
|
}
|
2021-07-02 20:59:44 +08:00
|
|
|
|
2021-05-27 18:32:38 +08:00
|
|
|
this.endRender();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|