新增renderablecomponent显示

优化返回值
This commit is contained in:
yhh
2020-07-27 16:10:36 +08:00
parent 149a3e5833
commit 506f8ddc0f
28 changed files with 631 additions and 512 deletions

View File

@@ -1,6 +1,10 @@
///<reference path="./Renderer.ts" />
module es {
export class DefaultRenderer extends Renderer {
constructor(){
super(0, null);
}
public render(scene: Scene) {
let cam = this.camera ? this.camera : scene.camera;
this.beginRender(cam);

View File

@@ -9,6 +9,15 @@ module es {
* Renderer子类可以选择调用beginRender时使用的摄像头
*/
public camera: Camera;
/**
* 指定场景调用渲染器的顺序
*/
public readonly renderOrder: number = 0;
protected constructor(renderOrder: number, camera: Camera = null){
this.camera = camera;
this.renderOrder = renderOrder;
}
/**
* 当渲染器被添加到场景时调用
@@ -16,17 +25,18 @@ module es {
*/
public onAddedToScene(scene: Scene){}
protected beginRender(cam: Camera){
}
/**
* 当场景结束或渲染器从场景中移除时调用。使用这个进行清理。
*/
public unload(){ }
/**
*
* @param scene
* @param cam
*/
public abstract render(scene: Scene);
protected beginRender(cam: Camera){ }
public unload(){ }
public abstract render(scene: Scene);
/**
*
@@ -36,5 +46,18 @@ module es {
protected renderAfterStateCheck(renderable: IRenderable, cam: Camera){
renderable.render(cam);
}
/**
* 当默认场景渲染目标被调整大小和当场景已经开始添加渲染器时调用
* @param newWidth
* @param newHeight
*/
public onSceneBackBufferSizeChanged(newWidth: number, newHeight: number){
}
public compareTo(other: Renderer): number{
return this.renderOrder - other.renderOrder;
}
}
}