2020-07-23 11:00:46 +08:00
|
|
|
module es {
|
2020-06-18 16:35:51 +08:00
|
|
|
/**
|
2020-07-23 11:00:46 +08:00
|
|
|
* 渲染器被添加到场景中并处理所有对RenderableComponent的实际调用
|
2020-06-18 16:35:51 +08:00
|
|
|
*/
|
2020-07-23 11:00:46 +08:00
|
|
|
export abstract class Renderer {
|
|
|
|
|
/**
|
|
|
|
|
* 渲染器用于渲染的摄像机(实际上是用于剔除的变换矩阵和边界)
|
|
|
|
|
* 不是必须的
|
|
|
|
|
* Renderer子类可以选择调用beginRender时使用的摄像头
|
|
|
|
|
*/
|
|
|
|
|
public camera: Camera;
|
2020-06-18 16:35:51 +08:00
|
|
|
|
2020-07-23 11:00:46 +08:00
|
|
|
/**
|
|
|
|
|
* 当渲染器被添加到场景时调用
|
|
|
|
|
* @param scene
|
|
|
|
|
*/
|
|
|
|
|
public onAddedToScene(scene: Scene){}
|
|
|
|
|
|
|
|
|
|
protected beginRender(cam: Camera){
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*
|
|
|
|
|
* @param scene
|
|
|
|
|
*/
|
|
|
|
|
public abstract render(scene: Scene);
|
|
|
|
|
|
|
|
|
|
public unload(){ }
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*
|
|
|
|
|
* @param renderable
|
|
|
|
|
* @param cam
|
|
|
|
|
*/
|
|
|
|
|
protected renderAfterStateCheck(renderable: IRenderable, cam: Camera){
|
|
|
|
|
renderable.render(cam);
|
|
|
|
|
}
|
2020-06-19 00:38:37 +08:00
|
|
|
}
|
2020-07-23 11:00:46 +08:00
|
|
|
}
|