Files
esengine/source/src/Graphics/Renderers/Renderer.ts
T
2020-06-29 15:41:02 +08:00

38 lines
870 B
TypeScript

/**
* 渲染器被添加到场景中并处理所有对RenderableComponent的实际调用
*/
abstract class Renderer {
/**
* 渲染器用于渲染的摄像机(实际上是用于剔除的变换矩阵和边界)
* 不是必须的
* Renderer子类可以选择调用beginRender时使用的摄像头
*/
public camera: Camera;
/**
* 当渲染器被添加到场景时调用
* @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);
}
}