主版本(支持渲染版本移动分支至support_engine)
This commit is contained in:
@@ -1,27 +0,0 @@
|
||||
module es {
|
||||
export interface IBatcher {
|
||||
/**
|
||||
* 创建投影矩阵时要使用的矩阵
|
||||
*/
|
||||
transformMatrix: Matrix;
|
||||
/**
|
||||
* 如果为true,则将在绘制目标位置之前将其四舍五入
|
||||
*/
|
||||
shouldRoundDestinations: boolean;
|
||||
disposed();
|
||||
begin(id: Ref<number>, effect, transformationMatrix?: Matrix, disableBatching?: boolean);
|
||||
end();
|
||||
prepRenderState();
|
||||
/**
|
||||
* 设置是否应忽略位置舍入。在为调试绘制基元时很有用
|
||||
*/
|
||||
setIgnoreRoundingDestinations(shouldIgnore: boolean);
|
||||
drawHollowRect(rect: Rectangle, color: number, thickness?: number);
|
||||
drawHollowBounds(x: number, y: number, width: number, height: number, color: number, thickness: number);
|
||||
drawLine(start: Vector2, end: Vector2, color: number, thickness);
|
||||
draw(texture, position: Vector2, color?: number, rotation?: number, origin?: Vector2, scale?: Vector2, effects?);
|
||||
drawPixel(position: Vector2, color: number, size?: number);
|
||||
drawPolygon(position: Vector2, points: Vector2[], color: number, closePoly?: boolean, thickness?: number);
|
||||
drawCircle(position: Vector2, radius: number, color: number, thickness?: number, resolution?: number);
|
||||
}
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
module es {
|
||||
export interface ICamera extends Component {
|
||||
position: Vector2;
|
||||
rotation: number;
|
||||
rawZoom: number;
|
||||
zoom: number;
|
||||
minimumZoom: number;
|
||||
maximumZoom: number;
|
||||
bounds: Rectangle;
|
||||
transformMatrix: Matrix2D;
|
||||
inverseTransformMatrix: Matrix2D;
|
||||
projectionMatrix: Matrix;
|
||||
viewprojectionMatrix: Matrix;
|
||||
origin: Vector2;
|
||||
setInset(left: number, right: number, top: number, bottom: number): ICamera;
|
||||
setPosition(position: Vector2): ICamera;
|
||||
setRotation(rotation: number): ICamera;
|
||||
setZoom(zoom: number): ICamera;
|
||||
setMinimumZoom(minZoom: number): ICamera;
|
||||
setMaximumZoom(maxZoom: number): ICamera;
|
||||
forceMatrixUpdate();
|
||||
onEntityTransformChanged(comp: transform.Component);
|
||||
zoomIn(deltaZoom: number);
|
||||
zoomOut(deltaZoom: number);
|
||||
worldToScreenPoint(worldPosition: Vector2): Vector2;
|
||||
screenToWorldPoint(screenPosition: Vector2): Vector2;
|
||||
onSceneRenderTargetSizeChanged(newWidth: number, newHeight: number);
|
||||
}
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
module es {
|
||||
/**
|
||||
* 可选接口,可以添加到任何对象中,用于特殊情况下需要覆盖最终渲染到屏幕。
|
||||
* 请注意,如果有IFinalRenderDelegate存在,Scene.screenshotRequestCallback将不会像预期的那样工作。
|
||||
*/
|
||||
export interface IFinalRenderDelegate {
|
||||
/**
|
||||
* 在添加到场景中时调用
|
||||
* @param scene
|
||||
*/
|
||||
onAddedToScene(scene: Scene);
|
||||
/**
|
||||
* 当后置缓冲区大小改变时调用
|
||||
* @param newWidth
|
||||
* @param newHeight
|
||||
*/
|
||||
onSceneBackBufferSizeChanged(newWidth: number, newHeight: number);
|
||||
/**
|
||||
* 这个被场景调用,这样就可以处理最终的渲染。渲染应该在finalRenderTarget中完成。
|
||||
* 在大多数情况下,finalRenderTarget将是空的,所以渲染将只是到回缓冲区。
|
||||
* finalRenderTarget只有在场景转换的第一帧时才会被设置,其中转换已经请求了上一个场景的渲染
|
||||
* @param finalRenderTarget
|
||||
* @param source
|
||||
* @param finalRenderDestinationRect
|
||||
*/
|
||||
handleFinalRender(finalRenderTarget, source, finalRenderDestinationRect: Rectangle);
|
||||
/**
|
||||
* 场景结束时调用。在这里释放任何资源
|
||||
*/
|
||||
unload();
|
||||
}
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
module es {
|
||||
/**
|
||||
* 便利的子类,有一个单一的属性,可以投递Effect,使配置更简单
|
||||
*/
|
||||
export interface IMaterial {
|
||||
/**
|
||||
* Batcher为当前RenderableComponent使用的效果
|
||||
*/
|
||||
effect;
|
||||
dispose();
|
||||
onPreRender(camera: ICamera);
|
||||
compareTo(other: IMaterial): number;
|
||||
clone(): IMaterial;
|
||||
}
|
||||
}
|
||||
@@ -1,57 +0,0 @@
|
||||
module es {
|
||||
export interface IRenderer {
|
||||
/**
|
||||
* Batcher使用的材料。任何RenderableComponent都可以覆盖它
|
||||
*/
|
||||
material: IMaterial;
|
||||
/**
|
||||
* 渲染器用于渲染的Camera(实际上是它的transformMatrix和culling的边界)。
|
||||
* 这是一个方便的字段,不是必需的。
|
||||
* 渲染器子类可以在调用beginRender时选择使用的摄像机
|
||||
*/
|
||||
camera: ICamera;
|
||||
/**
|
||||
* 指定场景调用渲染器的顺序
|
||||
*/
|
||||
renderOrder: number;
|
||||
/**
|
||||
* 如果renderTarget不是空的,这个渲染器将渲染到RenderTarget中,而不是渲染到屏幕上
|
||||
*/
|
||||
renderTexture;
|
||||
/**
|
||||
* 标志,决定是否要调试渲染。
|
||||
* 渲染方法接收一个bool(debugRenderEnabled)让渲染器知道全局调试渲染是否开启/关闭。
|
||||
* 然后渲染器使用本地的bool来决定是否应该调试渲染
|
||||
*/
|
||||
shouldDebugRender: boolean;
|
||||
/**
|
||||
* 如果为true,场景将使用场景RenderTarget调用SetRenderTarget。
|
||||
* 如果Renderer有一个renderTexture,默认的实现会返回true
|
||||
*/
|
||||
wantsToRenderToSceneRenderTarget: boolean;
|
||||
/**
|
||||
* 如果为true,场景将在所有后处理器完成后调用渲染方法。
|
||||
* 这必须在调用Scene.addRenderer生效之前设置为true,并且Renderer不应该有renderTexture。
|
||||
* 使用这种类型的渲染器的主要原因是为了让你可以在不进行后期处理的情况下,在Scene的其余部分上渲染你的UI。
|
||||
* ScreenSpaceRenderer是一个将此设置为真的Renderer例子
|
||||
*/
|
||||
wantsToRenderAfterPostProcessors: boolean;
|
||||
/**
|
||||
* 当Renderer被添加到场景中时被调用
|
||||
* @param scene
|
||||
*/
|
||||
onAddedToScene(scene: Scene);
|
||||
/**
|
||||
* 当场景结束或该渲染器从场景中移除时,调用该函数,用于清理
|
||||
*/
|
||||
unload();
|
||||
render(scene: Scene);
|
||||
/**
|
||||
* 当默认的场景RenderTarget被调整大小时,以及在场景已经开始的情况下添加一个Renderer时,会被调用。
|
||||
* @param newWidth
|
||||
* @param newHeight
|
||||
*/
|
||||
onSceneBackBufferSizeChanged(newWidth: number, newHeight: number);
|
||||
compare(other: IRenderer): number;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user