@esengine/nova-ecs-render-core - v1.0.1
    Preparing search index...

    Interface IGameRenderer

    Game renderer interface with advanced game features 具有高级游戏功能的游戏渲染器接口

    interface IGameRenderer {
        addLight(light: LightConfig): string;
        addPostProcessEffect(effect: PostProcessEffect): void;
        beginBatch(): void;
        beginFrame(): void;
        captureFrame(): ITexture;
        clear(_color?: Color): void;
        createAnimation(
            name: string,
            texture: ITexture,
            frameRects: FixedRect[],
            frameDuration: Fixed,
            loop: boolean,
        ): SpriteAnimation;
        createLayer(id: string, depth: number): RenderLayer;
        createParticleSystem(config: ParticleConfig): unknown;
        createRenderTexture(width: number, height: number): ITexture;
        destroyParticleSystem(system: unknown): void;
        dispose(): void;
        drawCircle(_center: FixedVector2, _radius: Fixed, _style: ShapeStyle): void;
        drawEllipse(_bounds: FixedRect, _style: ShapeStyle): void;
        drawLine(_start: FixedVector2, _end: FixedVector2, _style: LineStyle): void;
        drawParticleSystem(system: unknown): void;
        drawPolygon(_vertices: FixedVector2[], _style: ShapeStyle): void;
        drawRect(_bounds: FixedRect, _style: ShapeStyle): void;
        drawSprite(
            animation: SpriteAnimation,
            position: FixedVector2,
            currentTime: Fixed,
            style?: TextureStyle,
        ): void;
        drawSpriteFromAtlas(
            texture: ITexture,
            sourceRect: FixedRect,
            position: FixedVector2,
            style?: TextureStyle,
        ): void;
        drawText(_text: string, _position: FixedVector2, _style: TextStyle): void;
        drawTexture(
            _texture: ITexture,
            _position: FixedVector2,
            _style?: TextureStyle,
        ): void;
        drawTextureRegion(
            _texture: ITexture,
            _sourceRect: FixedRect,
            _destRect: FixedRect,
            _style?: TextureStyle,
        ): void;
        endBatch(): void;
        endFrame(): void;
        flushBatch(): void;
        getCamera(): CameraConfig;
        getCurrentTransform(): Transform2D;
        getLayers(): RenderLayer[];
        getRendererInfo(): {
            capabilities: string[];
            name: string;
            vendor?: string;
            version: string;
        };
        getRenderState(): RenderState;
        getRenderTarget(): unknown;
        getStatistics(): RenderStatistics;
        getViewport(): Viewport;
        isVisible(bounds: FixedRect): boolean;
        measureText(_text: string, _style: TextStyle): FixedVector2;
        popRenderState(): void;
        popTransform(): void;
        pushRenderState(): void;
        pushTransform(_transform: Transform2D): void;
        removeLayer(id: string): void;
        removeLight(lightId: string): void;
        removePostProcessEffect(name: string): void;
        resetStatistics(): void;
        screenToWorld(screenPos: FixedVector2): FixedVector2;
        setAmbientLight(color: Color): void;
        setCamera(config: CameraConfig): void;
        setLayerDepth(id: string, depth: number): void;
        setLayerVisible(id: string, visible: boolean): void;
        setLightingEnabled(enabled: boolean): void;
        setPostProcessEffectEnabled(name: string, enabled: boolean): void;
        setRenderState(_state: RenderState): void;
        setRenderTarget(_target: unknown): void;
        setRenderTexture(texture: null | ITexture): void;
        setViewMatrix(_matrix: FixedMatrix2x2): void;
        setViewport(_viewport: Viewport): void;
        supportsFeature(_feature: string): boolean;
        updateLight(lightId: string, config: Partial<LightConfig>): void;
        updateParticleSystem(system: unknown, deltaTime: Fixed): void;
        updatePostProcessEffect(
            name: string,
            parameters: Record<string, unknown>,
        ): void;
        worldToScreen(worldPos: FixedVector2): FixedVector2;
    }

    Hierarchy (View Summary)

    Implemented by

    Index

    Methods

    • Create sprite animation from texture atlas 从纹理图集创建精灵动画

      Parameters

      • name: string
      • texture: ITexture
      • frameRects: FixedRect[]
      • frameDuration: Fixed
      • loop: boolean

      Returns SpriteAnimation

    • Create render texture for off-screen rendering 创建用于离屏渲染的渲染纹理

      Parameters

      • width: number
      • height: number

      Returns ITexture

    • Destroy particle system 销毁粒子系统

      Parameters

      • system: unknown

      Returns void

    • Draw particle system 绘制粒子系统

      Parameters

      • system: unknown

      Returns void

    • Draw a static sprite from texture atlas 从纹理图集绘制静态精灵

      Parameters

      Returns void

    • Get renderer information 获取渲染器信息

      Returns { capabilities: string[]; name: string; vendor?: string; version: string }

    • Check if a world bounds is visible in camera 检查世界边界是否在相机中可见

      Parameters

      • bounds: FixedRect

      Returns boolean

    • Remove a light from the scene 从场景移除光源

      Parameters

      • lightId: string

      Returns void

    • Remove post-processing effect 移除后处理效果

      Parameters

      • name: string

      Returns void

    • Convert screen position to world position 将屏幕位置转换为世界位置

      Parameters

      • screenPos: FixedVector2

      Returns FixedVector2

    • Set layer depth 设置层深度

      Parameters

      • id: string
      • depth: number

      Returns void

    • Set layer visibility 设置层可见性

      Parameters

      • id: string
      • visible: boolean

      Returns void

    • Enable/disable lighting system 启用/禁用光照系统

      Parameters

      • enabled: boolean

      Returns void

    • Enable/disable post-processing effect 启用/禁用后处理效果

      Parameters

      • name: string
      • enabled: boolean

      Returns void

    • Set the view matrix for camera transformation 设置用于相机变换的视图矩阵

      Parameters

      • _matrix: FixedMatrix2x2

      Returns void

    • Update particle system 更新粒子系统

      Parameters

      • system: unknown
      • deltaTime: Fixed

      Returns void

    • Update post-processing effect parameters 更新后处理效果参数

      Parameters

      • name: string
      • parameters: Record<string, unknown>

      Returns void

    • Convert world position to screen position 将世界位置转换为屏幕位置

      Parameters

      • worldPos: FixedVector2

      Returns FixedVector2