Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cull legacy-pipeline #17239

Closed
wants to merge 9 commits into from
Closed

cull legacy-pipeline #17239

wants to merge 9 commits into from

Conversation

star-e
Copy link
Contributor

@star-e star-e commented Jun 27, 2024

Re: #

Changelog


Continuous Integration

This pull request:

  • needs automatic test cases check.

    Manual trigger with @cocos-robot run test cases afterward.

  • does not change any runtime related code or build configuration

    If any reviewer thinks the CI checks are needed, please uncheck this option, then close and reopen the issue.


Compatibility Check

This pull request:

  • changes public API, and have ensured backward compatibility with deprecated features.
  • affects platform compatibility, e.g. system version, browser version, platform sdk version, platform toolchain, language version, hardware compatibility etc.
  • affects file structure of the build package or build configuration which requires user project upgrade.
  • introduces breaking changes, please list all changes, affected features and the scope of violation.

Copy link

github-actions bot commented Jun 27, 2024

Interface Check Report

! WARNING this pull request has changed these public interfaces:

@@ -7853,9 +7853,9 @@
          * @zh 设置渲染管线
          * @param rppl The render pipeline
          * @returns The setup is successful or not
          */
-        setRenderPipeline(rppl?: RenderPipeline): boolean;
+        setRenderPipeline(rppl?: any): boolean;
         /**
          * @en Notify the pipeline and all scenes that the global pipeline state have been updated so that they can update their render data and states.
          * @zh 通知渲染管线和所有场景全局管线状态已更新,需要更新自身状态。
          */
@@ -23581,352 +23581,8 @@
         export const CAMERA_DEFAULT_MASK: number;
         export const CAMERA_EDITOR_MASK: number;
         export const MODEL_ALWAYS_MASK: number;
     }
-    /**
-     * @en Render pipeline describes how we handle the rendering process for all render objects in the related render scene root.
-     * It contains some general pipeline configurations, necessary rendering resources and some [[RenderFlow]]s.
-     * The rendering process function [[render]] is invoked by [[Root]] for all [[Camera]]s.
-     * @zh 渲染管线对象决定了引擎对相关渲染场景下的所有渲染对象实施的完整渲染流程。
-     * 这个类主要包含一些通用的管线配置,必要的渲染资源和一些 [[RenderFlow]]。
-     * 渲染流程函数 [[render]] 会由 [[Root]] 发起调用并对所有 [[Camera]] 执行预设的渲染流程。
-     */
-    export abstract class RenderPipeline extends Asset implements __private._cocos_rendering_pipeline_event__IPipelineEvent, __private._cocos_rendering_custom_pipeline__PipelineRuntime {
-        /**
-         * @en The tag of pipeline.
-         * @zh 管线的标签。
-         * @readonly
-         */
-        get tag(): number;
-        /**
-         * @en The flows of pipeline.
-         * @zh 管线的渲染流程列表。
-         * @readonly
-         */
-        get flows(): RenderFlow[];
-        /**
-         * @en Tag
-         * @zh 标签
-         * @readonly
-         */
-        protected _tag: number;
-        /**
-         * @en Flows
-         * @zh 渲染流程列表
-         * @readonly
-         */
-        protected _flows: RenderFlow[];
-        protected _quadIB: gfx.Buffer | null;
-        protected _quadVBOnscreen: gfx.Buffer | null;
-        protected _quadVBOffscreen: gfx.Buffer | null;
-        protected _quadIAOnscreen: gfx.InputAssembler | null;
-        protected _quadIAOffscreen: gfx.InputAssembler | null;
-        protected _eventProcessor: PipelineEventProcessor;
-        /**
-         * @zh
-         * 四边形输入汇集器。
-         */
-        get quadIAOnscreen(): gfx.InputAssembler;
-        get quadIAOffscreen(): gfx.InputAssembler;
-        getPipelineRenderData(): __private._cocos_rendering_render_pipeline__PipelineRenderData;
-        /**
-         * @en
-         * Constant macro string, static throughout the whole runtime.
-         * Used to pass device-specific parameters to shader.
-         * @zh 常量宏定义字符串,运行时全程不会改变,用于给 shader 传一些只和平台相关的参数。
-         * @readonly
-         */
-        get constantMacros(): string;
-        /**
-         * @en
-         * The current global-scoped shader macros.
-         * Used to control effects like IBL, fog, etc.
-         * @zh 当前的全局宏定义,用于控制如 IBL、雾效等模块。
-         * @readonly
-         */
-        get macros(): renderer.MacroRecord;
-        get device(): gfx.Device;
-        get globalDSManager(): __private._cocos_rendering_global_descriptor_set_manager__GlobalDSManager;
-        get descriptorSetLayout(): gfx.DescriptorSetLayout;
-        get descriptorSet(): gfx.DescriptorSet;
-        get commandBuffers(): gfx.CommandBuffer[];
-        get pipelineUBO(): __private._cocos_rendering_pipeline_ubo__PipelineUBO;
-        get pipelineSceneData(): PipelineSceneData;
-        set profiler(value: renderer.scene.Model | null);
-        get profiler(): renderer.scene.Model | null;
-        /**
-         * @deprecated since v3.6, please use camera.geometryRenderer instead.
-         */
-        get geometryRenderer(): GeometryRenderer | null;
-        set clusterEnabled(value: boolean);
-        get clusterEnabled(): boolean;
-        set bloomEnabled(value: boolean);
-        get bloomEnabled(): boolean;
-        protected _device: gfx.Device;
-        protected _globalDSManager: __private._cocos_rendering_global_descriptor_set_manager__GlobalDSManager;
-        protected _descriptorSet: gfx.DescriptorSet;
-        protected _commandBuffers: gfx.CommandBuffer[];
-        protected _pipelineUBO: __private._cocos_rendering_pipeline_ubo__PipelineUBO;
-        protected _macros: renderer.MacroRecord;
-        protected _constantMacros: string;
-        protected _profiler: renderer.scene.Model | null;
-        protected _geometryRenderer: GeometryRenderer | null;
-        protected _pipelineSceneData: PipelineSceneData;
-        protected _pipelineRenderData: __private._cocos_rendering_render_pipeline__PipelineRenderData | null;
-        protected _renderPasses: Map<number, gfx.RenderPass>;
-        protected _width: number;
-        protected _height: number;
-        protected _lastUsedRenderArea: gfx.Rect;
-        protected _clusterEnabled: boolean;
-        protected _bloomEnabled: boolean;
-        /**
-         * @en The initialization process, user shouldn't use it in most case, only useful when need to generate render pipeline programmatically.
-         * @zh 初始化函数,正常情况下不会用到,仅用于程序化生成渲染管线的情况。
-         * @param info The render pipeline information
-         */
-        initialize(info: __private._cocos_rendering_render_pipeline__IRenderPipelineInfo): boolean;
-        createRenderPass(clearFlags: gfx.ClearFlags, colorFmt: gfx.Format, depthFmt: gfx.Format): gfx.RenderPass;
-        getRenderPass(clearFlags: gfx.ClearFlags, fbo: gfx.Framebuffer): gfx.RenderPass;
-        newFramebufferByRatio(dyingFramebuffer: gfx.Framebuffer): gfx.Framebuffer;
-        /**
-         * @en generate renderArea by camera
-         * @zh 生成renderArea
-         * @param camera the camera
-         * @returns
-         */
-        generateRenderArea(camera: renderer.scene.Camera, out: gfx.Rect): void;
-        generateViewport(camera: renderer.scene.Camera, out?: gfx.Viewport): gfx.Viewport;
-        generateScissor(camera: renderer.scene.Camera, out?: gfx.Rect): gfx.Rect;
-        get shadingScale(): number;
-        set shadingScale(val: number);
-        getMacroString(name: string): string;
-        getMacroInt(name: string): number;
-        getMacroBool(name: string): boolean;
-        setMacroString(name: string, value: string): void;
-        setMacroInt(name: string, value: number): void;
-        setMacroBool(name: string, value: boolean): void;
-        /**
-         * @en Activate the render pipeline after loaded, it mainly activate the flows
-         * @zh 当渲染管线资源加载完成后,启用管线,主要是启用管线内的 flow
-         * TODO: remove swapchain dependency at this stage
-         * after deferred pipeline can handle multiple swapchains
-         */
-        activate(swapchain: gfx.Swapchain): boolean;
-        protected _ensureEnoughSize(cameras: renderer.scene.Camera[]): void;
-        /**
-         * @en Render function, it basically run the render process of all flows in sequence for the given view.
-         * @zh 渲染函数,对指定的渲染视图按顺序执行所有渲染流程。
-         * @param view Render view。
-         */
-        render(cameras: renderer.scene.Camera[]): void;
-        /**
-         * @zh
-         * 销毁四边形输入汇集器。
-         */
-        protected _destroyQuadInputAssembler(): void;
-        protected _destroyBloomData(): void;
-        /**
-         * @zh
-         * 创建四边形输入汇集器。
-         */
-        protected _createQuadInputAssembler(): __private._cocos_rendering_render_pipeline__PipelineInputAssemblerData;
-        updateQuadVertexData(renderArea: gfx.Rect, window: renderer.RenderWindow): void;
-        /**
-         * @en Internal destroy function
-         * @zh 内部销毁函数。
-         */
-        destroy(): boolean;
-        onGlobalPipelineStateChanged(): void;
-        protected _generateConstantMacros(): void;
-        protected updateGeometryRenderer(cameras: renderer.scene.Camera[]): void;
-        generateBloomRenderData(): void;
-        /**
-         * @en
-         * Register an callback of the pipeline event type on the RenderPipeline.
-         * @zh
-         * 在渲染管线中注册管线事件类型的回调。
-         */
-        on(type: PipelineEventType, callback: any, target?: any, once?: boolean): typeof callback;
-        /**
-         * @en
-         * Register an callback of the pipeline event type on the RenderPipeline,
-         * the callback will remove itself after the first time it is triggered.
-         * @zh
-         * 在渲染管线中注册管线事件类型的回调, 回调后会在第一时间删除自身。
-         */
-        once(type: PipelineEventType, callback: any, target?: any): typeof callback;
-        /**
-         * @en
-         * Removes the listeners previously registered with the same type, callback, target and or useCapture,
-         * if only type is passed as parameter, all listeners registered with that type will be removed.
-         * @zh
-         * 删除之前用同类型、回调、目标或 useCapture 注册的事件监听器,如果只传递 type,将会删除 type 类型的所有事件监听器。
-         */
-        off(type: PipelineEventType, callback?: any, target?: any): void;
-        /**
-         * @zh 派发一个指定事件,并传递需要的参数
-         * @en Trigger an event directly with the event name and necessary arguments.
-         * @param type - event type
-         * @param args - Arguments when the event triggered
-         */
-        emit(type: PipelineEventType, arg0?: any, arg1?: any, arg2?: any, arg3?: any, arg4?: any): void;
-        /**
-         * @en Removes all callbacks previously registered with the same target (passed as parameter).
-         * This is not for removing all listeners in the current event target,
-         * and this is not for removing all listeners the target parameter have registered.
-         * It's only for removing all listeners (callback and target couple) registered on the current event target by the target parameter.
-         * @zh 在当前 EventTarget 上删除指定目标(target 参数)注册的所有事件监听器。
-         * 这个函数无法删除当前 EventTarget 的所有事件监听器,也无法删除 target 参数所注册的所有事件监听器。
-         * 这个函数只能删除 target 参数在当前 EventTarget 上注册的所有事件监听器。
-         * @param typeOrTarget - The target to be searched for all related listeners
-         */
-        targetOff(typeOrTarget: any): void;
-        /**
-         * @zh 移除在特定事件类型中注册的所有回调或在某个目标中注册的所有回调。
-         * @en Removes all callbacks registered in a certain event type or all callbacks registered with a certain target
-         * @param typeOrTarget - The event type or target with which the listeners will be removed
-         */
-        removeAll(typeOrTarget: any): void;
-        /**
-         * @zh 检查指定事件是否已注册回调。
-         * @en Checks whether there is correspond event listener registered on the given event.
-         * @param type - Event type.
-         * @param callback - Callback function when event triggered.
-         * @param target - Callback callee.
-         */
-        hasEventListener(type: PipelineEventType, callback?: any, target?: any): boolean;
-    }
-    /**
-     * @en Render flow is a sub process of the [[RenderPipeline]], it dispatch the render task to all the [[RenderStage]]s.
-     * @zh 渲染流程是渲染管线([[RenderPipeline]])的一个子过程,它将渲染任务派发到它的所有渲染阶段([[RenderStage]])中执行。
-     */
-    export abstract class RenderFlow {
-        /**
-         * @en The name of the render flow
-         * @zh 渲染流程的名字
-         */
-        get name(): string;
-        /**
-         * @en Priority of the current flow
-         * @zh 当前渲染流程的优先级。
-         */
-        get priority(): number;
-        /**
-         * @en Tag of the current flow
-         * @zh 当前渲染流程的标签。
-         */
-        get tag(): number;
-        /**
-         * @en The stages of flow.
-         * @zh 渲染流程 stage 列表。
-         * @readonly
-         */
-        get stages(): RenderStage[];
-        protected _name: string;
-        protected _priority: number;
-        protected _tag: number;
-        protected _stages: RenderStage[];
-        protected _pipeline: RenderPipeline;
-        /**
-         * @en Get pipeline
-         * @zh 获取pipeline
-         */
-        get pipeline(): RenderPipeline;
-        /**
-         * @en The initialization process, user shouldn't use it in most case, only useful when need to generate render pipeline programmatically.
-         * @zh 初始化函数,正常情况下不会用到,仅用于程序化生成渲染管线的情况。
-         * @param info The render flow information
-         */
-        initialize(info: __private._cocos_rendering_render_flow__IRenderFlowInfo): boolean;
-        /**
-         * @en Activate the current render flow in the given pipeline
-         * @zh 为指定的渲染管线开启当前渲染流程
-         * @param pipeline The render pipeline to activate this render flow
-         */
-        activate(pipeline: RenderPipeline): void;
-        /**
-         * @en Render function, it basically run all render stages in sequence for the given view.
-         * @zh 渲染函数,对指定的渲染视图按顺序执行所有渲染阶段。
-         * @param view Render view。
-         */
-        render(camera: renderer.scene.Camera): void;
-        /**
-         * @en Destroy function.
-         * @zh 销毁函数。
-         */
-        destroy(): void;
-    }
-    /**
-     * @en The render stage actually renders render objects to the output window or other GFX [[gfx.Framebuffer]].
-     * Typically, a render stage collects render objects it's responsible for, clear the camera,
-     * record and execute command buffer, and at last present the render result.
-     * @zh 渲染阶段是实质上的渲染执行者,它负责收集渲染数据并执行渲染将渲染结果输出到屏幕或其他 GFX [[gfx.Framebuffer]] 中。
-     * 典型的渲染阶段会收集它所管理的渲染对象,按照 [[Camera]] 的清除标记进行清屏,记录并执行渲染指令缓存,并最终呈现渲染结果。
-     */
-    export abstract class RenderStage {
-        /**
-         * @en Name of the current stage
-         * @zh 当前渲染阶段的名字。
-         */
-        get name(): string;
-        /**
-         * @en Priority of the current stage
-         * @zh 当前渲染阶段的优先级。
-         */
-        get priority(): number;
-        /**
-         * @en Tag of the current stage
-         * @zh 当前渲染阶段的标签。
-         */
-        get tag(): number;
-        /**
-         * @en Name
-         * @zh 名称。
-         */
-        protected _name: string;
-        /**
-         * @en Priority
-         * @zh 优先级。
-         */
-        protected _priority: number;
-        /**
-         * @en Whether to enable
-         * @zh 是否启用。
-         */
-        protected _enabled: boolean;
-        set enabled(val: boolean);
-        get enabled(): boolean;
-        /**
-         * @en Type
-         * @zh 类型。
-         */
-        protected _tag: number;
-        protected _pipeline: RenderPipeline;
-        protected _flow: RenderFlow;
-        /**
-         * @en The initialization process, user shouldn't use it in most case, only useful when need to generate render pipeline programmatically.
-         * @zh 初始化函数,正常情况下不会用到,仅用于程序化生成渲染管线的情况。
-         * @param info The render stage information
-         */
-        initialize(info: __private._cocos_rendering_render_stage__IRenderStageInfo): boolean;
-        /**
-         * @en Activate the current render stage in the given render flow
-         * @zh 为指定的渲染流程开启当前渲染阶段
-         * @param flow The render flow to activate this render stage
-         */
-        activate(pipeline: RenderPipeline, flow: RenderFlow): void;
-        /**
-         * @en Destroy function
-         * @zh 销毁函数。
-         */
-        abstract destroy(): void;
-        /**
-         * @en Render function
-         * @zh 渲染函数。
-         * @param view The render view
-         */
-        abstract render(camera: renderer.scene.Camera): void;
-    }
     export class PipelineSceneData {
         /**
          * @en Is open HDR.
          * @zh 是否开启 HDR。
@@ -23981,179 +23637,8 @@
         getOcclusionQueryPass(): renderer.Pass | null;
         updatePipelineSceneData(): void;
         destroy(): void;
     }
-    /**
-     * @en The forward render pipeline
-     * @zh 前向渲染管线。
-     */
-    export class ForwardPipeline extends RenderPipeline {
-        protected renderTextures: __private._cocos_rendering_pipeline_serialization__RenderTextureConfig[];
-        protected _postRenderPass: gfx.RenderPass | null;
-        get postRenderPass(): gfx.RenderPass | null;
-        initialize(info: __private._cocos_rendering_render_pipeline__IRenderPipelineInfo): boolean;
-        activate(swapchain: gfx.Swapchain): boolean;
-        protected _ensureEnoughSize(cameras: renderer.scene.Camera[]): void;
-        destroy(): boolean;
-    }
-    export function createDefaultPipeline(): ForwardPipeline;
-    /**
-     * @en The forward flow in forward render pipeline
-     * @zh 前向渲染流程。
-     */
-    export class ForwardFlow extends RenderFlow {
-        /**
-         * @en The shared initialization information of forward render flow
-         * @zh 共享的前向渲染流程初始化参数
-         */
-        static initInfo: __private._cocos_rendering_render_flow__IRenderFlowInfo;
-        initialize(info: __private._cocos_rendering_render_flow__IRenderFlowInfo): boolean;
-        activate(pipeline: RenderPipeline): void;
-        render(camera: renderer.scene.Camera): void;
-        destroy(): void;
-    }
-    /**
-     * @en The forward render stage
-     * @zh 前向渲染阶段。
-     */
-    export class ForwardStage extends RenderStage {
-        static initInfo: __private._cocos_rendering_render_stage__IRenderStageInfo;
-        protected renderQueues: __private._cocos_rendering_pipeline_serialization__RenderQueueDesc[];
-        protected _renderQueues: __private._cocos_rendering_render_queue__RenderQueue[];
-        additiveInstanceQueues: __private._cocos_rendering_render_instanced_queue__RenderInstancedQueue[];
-        constructor();
-        addRenderInstancedQueue(queue: __private._cocos_rendering_render_instanced_queue__RenderInstancedQueue): void;
-        removeRenderInstancedQueue(queue: __private._cocos_rendering_render_instanced_queue__RenderInstancedQueue): void;
-        initialize(info: __private._cocos_rendering_render_stage__IRenderStageInfo): boolean;
-        activate(pipeline: ForwardPipeline, flow: ForwardFlow): void;
-        destroy(): void;
-        render(camera: renderer.scene.Camera): void;
-    }
-    /**
-     * @en The deferred render pipeline
-     * @zh 延迟渲染管线。
-     */
-    export class DeferredPipeline extends RenderPipeline {
-        protected renderTextures: __private._cocos_rendering_pipeline_serialization__RenderTextureConfig[];
-        initialize(info: __private._cocos_rendering_render_pipeline__IRenderPipelineInfo): boolean;
-        activate(swapchain: gfx.Swapchain): boolean;
-        destroy(): boolean;
-        onGlobalPipelineStateChanged(): void;
-        getPipelineRenderData(): __private._cocos_rendering_deferred_deferred_pipeline__DeferredRenderData;
-        protected _ensureEnoughSize(cameras: renderer.scene.Camera[]): void;
-    }
-    /**
-     * @en The main flow in deferred render pipeline
-     * @zh 延迟渲染流程。
-     */
-    export class MainFlow extends RenderFlow {
-        /**
-         * @en The shared initialization information of main render flow
-         * @zh 共享的延迟渲染流程初始化参数
-         */
-        static initInfo: __private._cocos_rendering_render_flow__IRenderFlowInfo;
-        initialize(info: __private._cocos_rendering_render_flow__IRenderFlowInfo): boolean;
-        activate(pipeline: RenderPipeline): void;
-        render(camera: renderer.scene.Camera): void;
-        destroy(): void;
-    }
-    /**
-     * @en The gbuffer render stage
-     * @zh 前向渲染阶段。
-     */
-    export class GbufferStage extends RenderStage {
-        static initInfo: __private._cocos_rendering_render_stage__IRenderStageInfo;
-        protected renderQueues: __private._cocos_rendering_pipeline_serialization__RenderQueueDesc[];
-        protected _renderQueues: __private._cocos_rendering_render_queue__RenderQueue[];
-        constructor();
-        initialize(info: __private._cocos_rendering_render_stage__IRenderStageInfo): boolean;
-        activate(pipeline: DeferredPipeline, flow: MainFlow): void;
-        destroy(): void;
-        render(camera: renderer.scene.Camera): void;
-    }
-    /**
-     * @en The lighting render stage
-     * @zh 前向渲染阶段。
-     */
-    export class LightingStage extends RenderStage {
-        static initInfo: __private._cocos_rendering_render_stage__IRenderStageInfo;
-        constructor();
-        initialize(info: __private._cocos_rendering_render_stage__IRenderStageInfo): boolean;
-        gatherLights(camera: renderer.scene.Camera): void;
-        protected _createStageDescriptor(pass: renderer.Pass): void;
-        activate(pipeline: DeferredPipeline, flow: MainFlow): void;
-        destroy(): void;
-        render(camera: renderer.scene.Camera): void;
-    }
-    /**
-     * @en The bloom post-process stage
-     * @zh Bloom 后处理阶段。
-     */
-    export class BloomStage extends RenderStage {
-        static initInfo: __private._cocos_rendering_render_stage__IRenderStageInfo;
-        threshold: number;
-        intensity: number;
-        iterations: number;
-        constructor();
-        initialize(info: __private._cocos_rendering_render_stage__IRenderStageInfo): boolean;
-        activate(pipeline: RenderPipeline, flow: RenderFlow): void;
-        destroy(): void;
-        render(camera: renderer.scene.Camera): void;
-    }
-    /**
-     * @en The postprocess render stage
-     * @zh 后处理渲染阶段。
-     */
-    export class PostProcessStage extends RenderStage {
-        static initInfo: __private._cocos_rendering_render_stage__IRenderStageInfo;
-        constructor();
-        initialize(info: __private._cocos_rendering_render_stage__IRenderStageInfo): boolean;
-        activate(pipeline: RenderPipeline, flow: RenderFlow): void;
-        destroy(): void;
-        render(camera: renderer.scene.Camera): void;
-    }
-    /**
-     * @en Shadow map render flow
-     * @zh 阴影贴图绘制流程
-     */
-    export class ShadowFlow extends RenderFlow {
-        /**
-         * @en A common initialization info for shadow map render flow
-         * @zh 一个通用的 ShadowFlow 的初始化信息对象
-         */
-        static initInfo: __private._cocos_rendering_render_flow__IRenderFlowInfo;
-        initialize(info: __private._cocos_rendering_render_flow__IRenderFlowInfo): boolean;
-        activate(pipeline: RenderPipeline): void;
-        render(camera: renderer.scene.Camera): void;
-        destroy(): void;
-        /**
-         * @deprecated since v3.5.0, this is an engine private interface that will be removed in the future.
-         */
-        _initShadowFrameBuffer(pipeline: RenderPipeline, light: renderer.scene.Light, swapchain: gfx.Swapchain): void;
-    }
-    /**
-     * @en Shadow map render stage
-     * @zh 阴影渲染阶段。
-     */
-    export class ShadowStage extends RenderStage {
-        /**
-         * @en A common initialization info for shadow map render stage
-         * @zh 一个通用的 ShadowStage 的初始化信息对象
-         */
-        static initInfo: __private._cocos_rendering_render_stage__IRenderStageInfo;
-        /**
-         * @en Sets the render shadow map info
-         * @zh 设置阴影渲染信息
-         * @param light
-         * @param shadowFrameBuffer
-         * @param level 层级
-         */
-        setUsage(globalDS: gfx.DescriptorSet, light: renderer.scene.Light, shadowFrameBuffer: gfx.Framebuffer, level?: number): void;
-        destroy(): void;
-        clearFramebuffer(camera: renderer.scene.Camera): void;
-        render(camera: renderer.scene.Camera): void;
-        activate(pipeline: ForwardPipeline, flow: ShadowFlow): void;
-    }
     export class InstancedBuffer {
         instances: __private._cocos_rendering_instanced_buffer__IInstancedItem[];
         pass: renderer.Pass;
         hasPendingModels: boolean;
@@ -45247,8 +44732,523 @@
         static polygonCircle: typeof __private._cocos_physics_2d_builtin_intersection_2d__polygonCircle;
         static pointInPolygon: typeof __private._cocos_physics_2d_builtin_intersection_2d__pointInPolygon;
         static pointLineDistance: typeof __private._cocos_physics_2d_builtin_intersection_2d__pointLineDistance;
     }
+    /**
+     * @en Render pipeline describes how we handle the rendering process for all render objects in the related render scene root.
+     * It contains some general pipeline configurations, necessary rendering resources and some [[RenderFlow]]s.
+     * The rendering process function [[render]] is invoked by [[Root]] for all [[Camera]]s.
+     * @zh 渲染管线对象决定了引擎对相关渲染场景下的所有渲染对象实施的完整渲染流程。
+     * 这个类主要包含一些通用的管线配置,必要的渲染资源和一些 [[RenderFlow]]。
+     * 渲染流程函数 [[render]] 会由 [[Root]] 发起调用并对所有 [[Camera]] 执行预设的渲染流程。
+     */
+    export abstract class RenderPipeline extends Asset implements __private._cocos_rendering_pipeline_event__IPipelineEvent, __private._cocos_rendering_custom_pipeline__PipelineRuntime {
+        /**
+         * @en The tag of pipeline.
+         * @zh 管线的标签。
+         * @readonly
+         */
+        get tag(): number;
+        /**
+         * @en The flows of pipeline.
+         * @zh 管线的渲染流程列表。
+         * @readonly
+         */
+        get flows(): RenderFlow[];
+        /**
+         * @en Tag
+         * @zh 标签
+         * @readonly
+         */
+        protected _tag: number;
+        /**
+         * @en Flows
+         * @zh 渲染流程列表
+         * @readonly
+         */
+        protected _flows: RenderFlow[];
+        protected _quadIB: gfx.Buffer | null;
+        protected _quadVBOnscreen: gfx.Buffer | null;
+        protected _quadVBOffscreen: gfx.Buffer | null;
+        protected _quadIAOnscreen: gfx.InputAssembler | null;
+        protected _quadIAOffscreen: gfx.InputAssembler | null;
+        protected _eventProcessor: PipelineEventProcessor;
+        /**
+         * @zh
+         * 四边形输入汇集器。
+         */
+        get quadIAOnscreen(): gfx.InputAssembler;
+        get quadIAOffscreen(): gfx.InputAssembler;
+        getPipelineRenderData(): __private._cocos_rendering_render_pipeline__PipelineRenderData;
+        /**
+         * @en
+         * Constant macro string, static throughout the whole runtime.
+         * Used to pass device-specific parameters to shader.
+         * @zh 常量宏定义字符串,运行时全程不会改变,用于给 shader 传一些只和平台相关的参数。
+         * @readonly
+         */
+        get constantMacros(): string;
+        /**
+         * @en
+         * The current global-scoped shader macros.
+         * Used to control effects like IBL, fog, etc.
+         * @zh 当前的全局宏定义,用于控制如 IBL、雾效等模块。
+         * @readonly
+         */
+        get macros(): renderer.MacroRecord;
+        get device(): gfx.Device;
+        get globalDSManager(): __private._cocos_rendering_global_descriptor_set_manager__GlobalDSManager;
+        get descriptorSetLayout(): gfx.DescriptorSetLayout;
+        get descriptorSet(): gfx.DescriptorSet;
+        get commandBuffers(): gfx.CommandBuffer[];
+        get pipelineUBO(): __private._cocos_rendering_pipeline_ubo__PipelineUBO;
+        get pipelineSceneData(): PipelineSceneData;
+        set profiler(value: renderer.scene.Model | null);
+        get profiler(): renderer.scene.Model | null;
+        /**
+         * @deprecated since v3.6, please use camera.geometryRenderer instead.
+         */
+        get geometryRenderer(): GeometryRenderer | null;
+        set clusterEnabled(value: boolean);
+        get clusterEnabled(): boolean;
+        set bloomEnabled(value: boolean);
+        get bloomEnabled(): boolean;
+        protected _device: gfx.Device;
+        protected _globalDSManager: __private._cocos_rendering_global_descriptor_set_manager__GlobalDSManager;
+        protected _descriptorSet: gfx.DescriptorSet;
+        protected _commandBuffers: gfx.CommandBuffer[];
+        protected _pipelineUBO: __private._cocos_rendering_pipeline_ubo__PipelineUBO;
+        protected _macros: renderer.MacroRecord;
+        protected _constantMacros: string;
+        protected _profiler: renderer.scene.Model | null;
+        protected _geometryRenderer: GeometryRenderer | null;
+        protected _pipelineSceneData: PipelineSceneData;
+        protected _pipelineRenderData: __private._cocos_rendering_render_pipeline__PipelineRenderData | null;
+        protected _renderPasses: Map<number, gfx.RenderPass>;
+        protected _width: number;
+        protected _height: number;
+        protected _lastUsedRenderArea: gfx.Rect;
+        protected _clusterEnabled: boolean;
+        protected _bloomEnabled: boolean;
+        /**
+         * @en The initialization process, user shouldn't use it in most case, only useful when need to generate render pipeline programmatically.
+         * @zh 初始化函数,正常情况下不会用到,仅用于程序化生成渲染管线的情况。
+         * @param info The render pipeline information
+         */
+        initialize(info: __private._cocos_rendering_render_pipeline__IRenderPipelineInfo): boolean;
+        createRenderPass(clearFlags: gfx.ClearFlags, colorFmt: gfx.Format, depthFmt: gfx.Format): gfx.RenderPass;
+        getRenderPass(clearFlags: gfx.ClearFlags, fbo: gfx.Framebuffer): gfx.RenderPass;
+        newFramebufferByRatio(dyingFramebuffer: gfx.Framebuffer): gfx.Framebuffer;
+        /**
+         * @en generate renderArea by camera
+         * @zh 生成renderArea
+         * @param camera the camera
+         * @returns
+         */
+        generateRenderArea(camera: renderer.scene.Camera, out: gfx.Rect): void;
+        generateViewport(camera: renderer.scene.Camera, out?: gfx.Viewport): gfx.Viewport;
+        generateScissor(camera: renderer.scene.Camera, out?: gfx.Rect): gfx.Rect;
+        get shadingScale(): number;
+        set shadingScale(val: number);
+        getMacroString(name: string): string;
+        getMacroInt(name: string): number;
+        getMacroBool(name: string): boolean;
+        setMacroString(name: string, value: string): void;
+        setMacroInt(name: string, value: number): void;
+        setMacroBool(name: string, value: boolean): void;
+        /**
+         * @en Activate the render pipeline after loaded, it mainly activate the flows
+         * @zh 当渲染管线资源加载完成后,启用管线,主要是启用管线内的 flow
+         * TODO: remove swapchain dependency at this stage
+         * after deferred pipeline can handle multiple swapchains
+         */
+        activate(swapchain: gfx.Swapchain): boolean;
+        protected _ensureEnoughSize(cameras: renderer.scene.Camera[]): void;
+        /**
+         * @en Render function, it basically run the render process of all flows in sequence for the given view.
+         * @zh 渲染函数,对指定的渲染视图按顺序执行所有渲染流程。
+         * @param view Render view。
+         */
+        render(cameras: renderer.scene.Camera[]): void;
+        /**
+         * @zh
+         * 销毁四边形输入汇集器。
+         */
+        protected _destroyQuadInputAssembler(): void;
+        protected _destroyBloomData(): void;
+        /**
+         * @zh
+         * 创建四边形输入汇集器。
+         */
+        protected _createQuadInputAssembler(): __private._cocos_rendering_render_pipeline__PipelineInputAssemblerData;
+        updateQuadVertexData(renderArea: gfx.Rect, window: renderer.RenderWindow): void;
+        /**
+         * @en Internal destroy function
+         * @zh 内部销毁函数。
+         */
+        destroy(): boolean;
+        onGlobalPipelineStateChanged(): void;
+        protected _generateConstantMacros(): void;
+        protected updateGeometryRenderer(cameras: renderer.scene.Camera[]): void;
+        generateBloomRenderData(): void;
+        /**
+         * @en
+         * Register an callback of the pipeline event type on the RenderPipeline.
+         * @zh
+         * 在渲染管线中注册管线事件类型的回调。
+         */
+        on(type: PipelineEventType, callback: any, target?: any, once?: boolean): typeof callback;
+        /**
+         * @en
+         * Register an callback of the pipeline event type on the RenderPipeline,
+         * the callback will remove itself after the first time it is triggered.
+         * @zh
+         * 在渲染管线中注册管线事件类型的回调, 回调后会在第一时间删除自身。
+         */
+        once(type: PipelineEventType, callback: any, target?: any): typeof callback;
+        /**
+         * @en
+         * Removes the listeners previously registered with the same type, callback, target and or useCapture,
+         * if only type is passed as parameter, all listeners registered with that type will be removed.
+         * @zh
+         * 删除之前用同类型、回调、目标或 useCapture 注册的事件监听器,如果只传递 type,将会删除 type 类型的所有事件监听器。
+         */
+        off(type: PipelineEventType, callback?: any, target?: any): void;
+        /**
+         * @zh 派发一个指定事件,并传递需要的参数
+         * @en Trigger an event directly with the event name and necessary arguments.
+         * @param type - event type
+         * @param args - Arguments when the event triggered
+         */
+        emit(type: PipelineEventType, arg0?: any, arg1?: any, arg2?: any, arg3?: any, arg4?: any): void;
+        /**
+         * @en Removes all callbacks previously registered with the same target (passed as parameter).
+         * This is not for removing all listeners in the current event target,
+         * and this is not for removing all listeners the target parameter have registered.
+         * It's only for removing all listeners (callback and target couple) registered on the current event target by the target parameter.
+         * @zh 在当前 EventTarget 上删除指定目标(target 参数)注册的所有事件监听器。
+         * 这个函数无法删除当前 EventTarget 的所有事件监听器,也无法删除 target 参数所注册的所有事件监听器。
+         * 这个函数只能删除 target 参数在当前 EventTarget 上注册的所有事件监听器。
+         * @param typeOrTarget - The target to be searched for all related listeners
+         */
+        targetOff(typeOrTarget: any): void;
+        /**
+         * @zh 移除在特定事件类型中注册的所有回调或在某个目标中注册的所有回调。
+         * @en Removes all callbacks registered in a certain event type or all callbacks registered with a certain target
+         * @param typeOrTarget - The event type or target with which the listeners will be removed
+         */
+        removeAll(typeOrTarget: any): void;
+        /**
+         * @zh 检查指定事件是否已注册回调。
+         * @en Checks whether there is correspond event listener registered on the given event.
+         * @param type - Event type.
+         * @param callback - Callback function when event triggered.
+         * @param target - Callback callee.
+         */
+        hasEventListener(type: PipelineEventType, callback?: any, target?: any): boolean;
+    }
+    /**
+     * @en Render flow is a sub process of the [[RenderPipeline]], it dispatch the render task to all the [[RenderStage]]s.
+     * @zh 渲染流程是渲染管线([[RenderPipeline]])的一个子过程,它将渲染任务派发到它的所有渲染阶段([[RenderStage]])中执行。
+     */
+    export abstract class RenderFlow {
+        /**
+         * @en The name of the render flow
+         * @zh 渲染流程的名字
+         */
+        get name(): string;
+        /**
+         * @en Priority of the current flow
+         * @zh 当前渲染流程的优先级。
+         */
+        get priority(): number;
+        /**
+         * @en Tag of the current flow
+         * @zh 当前渲染流程的标签。
+         */
+        get tag(): number;
+        /**
+         * @en The stages of flow.
+         * @zh 渲染流程 stage 列表。
+         * @readonly
+         */
+        get stages(): RenderStage[];
+        protected _name: string;
+        protected _priority: number;
+        protected _tag: number;
+        protected _stages: RenderStage[];
+        protected _pipeline: RenderPipeline;
+        /**
+         * @en Get pipeline
+         * @zh 获取pipeline
+         */
+        get pipeline(): RenderPipeline;
+        /**
+         * @en The initialization process, user shouldn't use it in most case, only useful when need to generate render pipeline programmatically.
+         * @zh 初始化函数,正常情况下不会用到,仅用于程序化生成渲染管线的情况。
+         * @param info The render flow information
+         */
+        initialize(info: __private._cocos_rendering_render_flow__IRenderFlowInfo): boolean;
+        /**
+         * @en Activate the current render flow in the given pipeline
+         * @zh 为指定的渲染管线开启当前渲染流程
+         * @param pipeline The render pipeline to activate this render flow
+         */
+        activate(pipeline: RenderPipeline): void;
+        /**
+         * @en Render function, it basically run all render stages in sequence for the given view.
+         * @zh 渲染函数,对指定的渲染视图按顺序执行所有渲染阶段。
+         * @param view Render view。
+         */
+        render(camera: renderer.scene.Camera): void;
+        /**
+         * @en Destroy function.
+         * @zh 销毁函数。
+         */
+        destroy(): void;
+    }
+    /**
+     * @en The render stage actually renders render objects to the output window or other GFX [[gfx.Framebuffer]].
+     * Typically, a render stage collects render objects it's responsible for, clear the camera,
+     * record and execute command buffer, and at last present the render result.
+     * @zh 渲染阶段是实质上的渲染执行者,它负责收集渲染数据并执行渲染将渲染结果输出到屏幕或其他 GFX [[gfx.Framebuffer]] 中。
+     * 典型的渲染阶段会收集它所管理的渲染对象,按照 [[Camera]] 的清除标记进行清屏,记录并执行渲染指令缓存,并最终呈现渲染结果。
+     */
+    export abstract class RenderStage {
+        /**
+         * @en Name of the current stage
+         * @zh 当前渲染阶段的名字。
+         */
+        get name(): string;
+        /**
+         * @en Priority of the current stage
+         * @zh 当前渲染阶段的优先级。
+         */
+        get priority(): number;
+        /**
+         * @en Tag of the current stage
+         * @zh 当前渲染阶段的标签。
+         */
+        get tag(): number;
+        /**
+         * @en Name
+         * @zh 名称。
+         */
+        protected _name: string;
+        /**
+         * @en Priority
+         * @zh 优先级。
+         */
+        protected _priority: number;
+        /**
+         * @en Whether to enable
+         * @zh 是否启用。
+         */
+        protected _enabled: boolean;
+        set enabled(val: boolean);
+        get enabled(): boolean;
+        /**
+         * @en Type
+         * @zh 类型。
+         */
+        protected _tag: number;
+        protected _pipeline: RenderPipeline;
+        protected _flow: RenderFlow;
+        /**
+         * @en The initialization process, user shouldn't use it in most case, only useful when need to generate render pipeline programmatically.
+         * @zh 初始化函数,正常情况下不会用到,仅用于程序化生成渲染管线的情况。
+         * @param info The render stage information
+         */
+        initialize(info: __private._cocos_rendering_render_stage__IRenderStageInfo): boolean;
+        /**
+         * @en Activate the current render stage in the given render flow
+         * @zh 为指定的渲染流程开启当前渲染阶段
+         * @param flow The render flow to activate this render stage
+         */
+        activate(pipeline: RenderPipeline, flow: RenderFlow): void;
+        /**
+         * @en Destroy function
+         * @zh 销毁函数。
+         */
+        abstract destroy(): void;
+        /**
+         * @en Render function
+         * @zh 渲染函数。
+         * @param view The render view
+         */
+        abstract render(camera: renderer.scene.Camera): void;
+    }
+    /**
+     * @en The forward render pipeline
+     * @zh 前向渲染管线。
+     */
+    export class ForwardPipeline extends RenderPipeline {
+        protected renderTextures: __private._cocos_rendering_pipeline_serialization__RenderTextureConfig[];
+        protected _postRenderPass: gfx.RenderPass | null;
+        get postRenderPass(): gfx.RenderPass | null;
+        initialize(info: __private._cocos_rendering_render_pipeline__IRenderPipelineInfo): boolean;
+        activate(swapchain: gfx.Swapchain): boolean;
+        protected _ensureEnoughSize(cameras: renderer.scene.Camera[]): void;
+        destroy(): boolean;
+    }
+    export function createDefaultPipeline(): ForwardPipeline;
+    /**
+     * @en The forward flow in forward render pipeline
+     * @zh 前向渲染流程。
+     */
+    export class ForwardFlow extends RenderFlow {
+        /**
+         * @en The shared initialization information of forward render flow
+         * @zh 共享的前向渲染流程初始化参数
+         */
+        static initInfo: __private._cocos_rendering_render_flow__IRenderFlowInfo;
+        initialize(info: __private._cocos_rendering_render_flow__IRenderFlowInfo): boolean;
+        activate(pipeline: RenderPipeline): void;
+        render(camera: renderer.scene.Camera): void;
+        destroy(): void;
+    }
+    /**
+     * @en The forward render stage
+     * @zh 前向渲染阶段。
+     */
+    export class ForwardStage extends RenderStage {
+        static initInfo: __private._cocos_rendering_render_stage__IRenderStageInfo;
+        protected renderQueues: __private._cocos_rendering_pipeline_serialization__RenderQueueDesc[];
+        protected _renderQueues: __private._cocos_rendering_render_queue__RenderQueue[];
+        additiveInstanceQueues: __private._cocos_rendering_render_instanced_queue__RenderInstancedQueue[];
+        constructor();
+        addRenderInstancedQueue(queue: __private._cocos_rendering_render_instanced_queue__RenderInstancedQueue): void;
+        removeRenderInstancedQueue(queue: __private._cocos_rendering_render_instanced_queue__RenderInstancedQueue): void;
+        initialize(info: __private._cocos_rendering_render_stage__IRenderStageInfo): boolean;
+        activate(pipeline: ForwardPipeline, flow: ForwardFlow): void;
+        destroy(): void;
+        render(camera: renderer.scene.Camera): void;
+    }
+    /**
+     * @en The deferred render pipeline
+     * @zh 延迟渲染管线。
+     */
+    export class DeferredPipeline extends RenderPipeline {
+        protected renderTextures: __private._cocos_rendering_pipeline_serialization__RenderTextureConfig[];
+        initialize(info: __private._cocos_rendering_render_pipeline__IRenderPipelineInfo): boolean;
+        activate(swapchain: gfx.Swapchain): boolean;
+        destroy(): boolean;
+        onGlobalPipelineStateChanged(): void;
+        getPipelineRenderData(): __private._cocos_rendering_deferred_deferred_pipeline__DeferredRenderData;
+        protected _ensureEnoughSize(cameras: renderer.scene.Camera[]): void;
+    }
+    /**
+     * @en The main flow in deferred render pipeline
+     * @zh 延迟渲染流程。
+     */
+    export class MainFlow extends RenderFlow {
+        /**
+         * @en The shared initialization information of main render flow
+         * @zh 共享的延迟渲染流程初始化参数
+         */
+        static initInfo: __private._cocos_rendering_render_flow__IRenderFlowInfo;
+        initialize(info: __private._cocos_rendering_render_flow__IRenderFlowInfo): boolean;
+        activate(pipeline: RenderPipeline): void;
+        render(camera: renderer.scene.Camera): void;
+        destroy(): void;
+    }
+    /**
+     * @en The gbuffer render stage
+     * @zh 前向渲染阶段。
+     */
+    export class GbufferStage extends RenderStage {
+        static initInfo: __private._cocos_rendering_render_stage__IRenderStageInfo;
+        protected renderQueues: __private._cocos_rendering_pipeline_serialization__RenderQueueDesc[];
+        protected _renderQueues: __private._cocos_rendering_render_queue__RenderQueue[];
+        constructor();
+        initialize(info: __private._cocos_rendering_render_stage__IRenderStageInfo): boolean;
+        activate(pipeline: DeferredPipeline, flow: MainFlow): void;
+        destroy(): void;
+        render(camera: renderer.scene.Camera): void;
+    }
+    /**
+     * @en The lighting render stage
+     * @zh 前向渲染阶段。
+     */
+    export class LightingStage extends RenderStage {
+        static initInfo: __private._cocos_rendering_render_stage__IRenderStageInfo;
+        constructor();
+        initialize(info: __private._cocos_rendering_render_stage__IRenderStageInfo): boolean;
+        gatherLights(camera: renderer.scene.Camera): void;
+        protected _createStageDescriptor(pass: renderer.Pass): void;
+        activate(pipeline: DeferredPipeline, flow: MainFlow): void;
+        destroy(): void;
+        render(camera: renderer.scene.Camera): void;
+    }
+    /**
+     * @en The bloom post-process stage
+     * @zh Bloom 后处理阶段。
+     */
+    export class BloomStage extends RenderStage {
+        static initInfo: __private._cocos_rendering_render_stage__IRenderStageInfo;
+        threshold: number;
+        intensity: number;
+        iterations: number;
+        constructor();
+        initialize(info: __private._cocos_rendering_render_stage__IRenderStageInfo): boolean;
+        activate(pipeline: RenderPipeline, flow: RenderFlow): void;
+        destroy(): void;
+        render(camera: renderer.scene.Camera): void;
+    }
+    /**
+     * @en The postprocess render stage
+     * @zh 后处理渲染阶段。
+     */
+    export class PostProcessStage extends RenderStage {
+        static initInfo: __private._cocos_rendering_render_stage__IRenderStageInfo;
+        constructor();
+        initialize(info: __private._cocos_rendering_render_stage__IRenderStageInfo): boolean;
+        activate(pipeline: RenderPipeline, flow: RenderFlow): void;
+        destroy(): void;
+        render(camera: renderer.scene.Camera): void;
+    }
+    /**
+     * @en Shadow map render flow
+     * @zh 阴影贴图绘制流程
+     */
+    export class ShadowFlow extends RenderFlow {
+        /**
+         * @en A common initialization info for shadow map render flow
+         * @zh 一个通用的 ShadowFlow 的初始化信息对象
+         */
+        static initInfo: __private._cocos_rendering_render_flow__IRenderFlowInfo;
+        initialize(info: __private._cocos_rendering_render_flow__IRenderFlowInfo): boolean;
+        activate(pipeline: RenderPipeline): void;
+        render(camera: renderer.scene.Camera): void;
+        destroy(): void;
+        /**
+         * @deprecated since v3.5.0, this is an engine private interface that will be removed in the future.
+         */
+        _initShadowFrameBuffer(pipeline: RenderPipeline, light: renderer.scene.Light, swapchain: gfx.Swapchain): void;
+    }
+    /**
+     * @en Shadow map render stage
+     * @zh 阴影渲染阶段。
+     */
+    export class ShadowStage extends RenderStage {
+        /**
+         * @en A common initialization info for shadow map render stage
+         * @zh 一个通用的 ShadowStage 的初始化信息对象
+         */
+        static initInfo: __private._cocos_rendering_render_stage__IRenderStageInfo;
+        /**
+         * @en Sets the render shadow map info
+         * @zh 设置阴影渲染信息
+         * @param light
+         * @param shadowFrameBuffer
+         * @param level 层级
+         */
+        setUsage(globalDS: gfx.DescriptorSet, light: renderer.scene.Light, shadowFrameBuffer: gfx.Framebuffer, level?: number): void;
+        destroy(): void;
+        clearFramebuffer(camera: renderer.scene.Camera): void;
+        render(camera: renderer.scene.Camera): void;
+        activate(pipeline: ForwardPipeline, flow: ShadowFlow): void;
+    }
     export const PlaceMethod: {
         UNIFORM: number;
         ADAPTIVE: number;
     };
@@ -63559,120 +63559,8 @@
             PLUGINS = "plugins",
             XR = "xr"
         }
         export type _cocos_core_value_types_enum__EnumType = Record<string, string | number>;
-        export class _cocos_rendering_render_pipeline__BloomRenderData {
-            renderPass: gfx.RenderPass;
-            sampler: gfx.Sampler;
-            prefiterTex: gfx.Texture;
-            downsampleTexs: gfx.Texture[];
-            upsampleTexs: gfx.Texture[];
-            combineTex: gfx.Texture;
-            prefilterFramebuffer: gfx.Framebuffer;
-            downsampleFramebuffers: gfx.Framebuffer[];
-            upsampleFramebuffers: gfx.Framebuffer[];
-            combineFramebuffer: gfx.Framebuffer;
-        }
-        export class _cocos_rendering_render_pipeline__PipelineRenderData {
-            outputFrameBuffer: gfx.Framebuffer;
-            outputRenderTargets: gfx.Texture[];
-            outputDepth: gfx.Texture;
-            sampler: gfx.Sampler;
-            bloom: _cocos_rendering_render_pipeline__BloomRenderData | null;
-        }
-        export class _cocos_rendering_pipeline_ubo__PipelineUBO {
-            static updateGlobalUBOView(window: renderer.RenderWindow, bufferView: Float32Array): void;
-            static updateCameraUBOView(pipeline: _cocos_rendering_custom_pipeline__PipelineRuntime, bufferView: Float32Array, camera: renderer.scene.Camera): void;
-            static getPCFRadius(shadowInfo: renderer.scene.Shadows, mainLight: renderer.scene.DirectionalLight): number;
-            static updatePlanarNormalAndDistance(shadowInfo: renderer.scene.Shadows, shadowUBO: Float32Array): void;
-            static updateShadowUBOView(pipeline: _cocos_rendering_custom_pipeline__PipelineRuntime, shadowBufferView: Float32Array, csmBufferView: Float32Array, camera: renderer.scene.Camera): void;
-            static updateShadowUBOLightView(pipeline: _cocos_rendering_custom_pipeline__PipelineRuntime, shadowBufferView: Float32Array, light: renderer.scene.Light, level: number): void;
-            protected _globalUBO: Float32Array;
-            protected _cameraUBO: Float32Array;
-            protected _shadowUBO: Float32Array;
-            protected _csmUBO: Float32Array;
-            static _combineSignY: number;
-            protected _device: gfx.Device;
-            protected _pipeline: _cocos_rendering_custom_pipeline__PipelineRuntime;
-            /**
-             *|combinedSignY|clipSpaceSignY|screenSpaceSignY| Backends |
-             *|    :--:     |    :--:      |      :--:      |   :--:   |
-             *|      0      |      -1      |      -1        |  Vulkan  |
-             *|      1      |       1      |      -1        |  Metal   |
-             *|      2      |      -1      |       1        |          |
-             *|      3      |       1      |       1        |  GL-like |
-             */
-            static getCombineSignY(): number;
-            activate(device: gfx.Device, pipeline: _cocos_rendering_custom_pipeline__PipelineRuntime): void;
-            /**
-             * @en Update all UBOs
-             * @zh 更新全部 UBO。
-             */
-            updateGlobalUBO(window: renderer.RenderWindow): void;
-            updateCameraUBO(camera: renderer.scene.Camera): void;
-            updateShadowUBO(camera: renderer.scene.Camera): void;
-            updateShadowUBOLight(globalDS: gfx.DescriptorSet, light: renderer.scene.Light, level?: number): void;
-            updateShadowUBORange(offset: number, data: math.Mat4 | math.Color): void;
-            destroy(): void;
-        }
-        /**
-         * @en Render pipeline information descriptor
-         * @zh 渲染管线描述信息。
-         */
-        export interface _cocos_rendering_render_pipeline__IRenderPipelineInfo {
-            flows: RenderFlow[];
-            tag?: number;
-        }
-        export class _cocos_rendering_render_pipeline__PipelineInputAssemblerData {
-            quadIB: gfx.Buffer | null;
-            quadVB: gfx.Buffer | null;
-            quadIA: gfx.InputAssembler | null;
-        }
-        /**
-         * @en Render flow information descriptor
-         * @zh 渲染流程描述信息。
-         */
-        export interface _cocos_rendering_render_flow__IRenderFlowInfo {
-            name: string;
-            priority: number;
-            stages: RenderStage[];
-            tag?: number;
-        }
-        export enum _cocos_rendering_pipeline_serialization__RenderQueueSortMode {
-            FRONT_TO_BACK = 0,
-            BACK_TO_FRONT = 1
-        }
-        /**
-         * @en The render queue descriptor
-         * @zh 渲染队列描述信息
-         */
-        export class _cocos_rendering_pipeline_serialization__RenderQueueDesc {
-            /**
-             * @en Whether the render queue is a transparent queue
-             * @zh 当前队列是否是半透明队列
-             */
-            isTransparent: boolean;
-            /**
-             * @en The sort mode of the render queue
-             * @zh 渲染队列的排序模式
-             */
-            sortMode: _cocos_rendering_pipeline_serialization__RenderQueueSortMode;
-            /**
-             * @en The stages using this queue
-             * @zh 使用当前渲染队列的阶段列表
-             */
-            stages: string[];
-        }
-        /**
-         * @en The render stage information descriptor
-         * @zh 渲染阶段描述信息。
-         */
-        export interface _cocos_rendering_render_stage__IRenderStageInfo {
-            name: string;
-            priority: number;
-            tag?: number;
-            renderQueues?: _cocos_rendering_pipeline_serialization__RenderQueueDesc[];
-        }
         export class _cocos_rendering_shadow_csm_layers__ShadowLayerVolume {
             protected _shadowObjects: pipeline.IRenderObject[];
             protected _shadowCameraFar: number;
             protected _level: number;
@@ -63735,77 +63623,8 @@
             constructor();
             update(sceneData: PipelineSceneData, camera: renderer.scene.Camera): void;
             destroy(): void;
         }
-        export class _cocos_rendering_pipeline_serialization__RenderTextureConfig {
-            name: string;
-            texture: RenderTexture | null;
-        }
-        /**
-         * @en The render queue. It manages a GFX [[RenderPass]] queue which will be executed by the [[RenderStage]].
-         * @zh 渲染队列。它管理一个 GFX [[RenderPass]] 队列,队列中的渲染过程会被 [[RenderStage]] 所执行。
-         */
-        export class _cocos_rendering_render_queue__RenderQueue {
-            /**
-             * @en A cached array of render passes
-             * @zh 基于缓存数组的渲染过程队列。
-             */
-            queue: memop.CachedArray<pipeline.IRenderPass>;
-            /**
-             * @en Construct a RenderQueue with render queue descriptor
-             * @zh 利用渲染队列描述来构造一个 RenderQueue。
-             * @param desc Render queue descriptor
-             */
-            constructor(desc: pipeline.IRenderQueueDesc);
-            /**
-             * @en Clear the render queue
-             * @zh 清空渲染队列。
-             */
-            clear(): void;
-            /**
-             * @en Insert a render pass into the queue
-             * @zh 插入渲染过程。
-             * @param renderObj The render object of the pass
-             * @param modelIdx The model id
-             * @param passIdx The pass id
-             * @returns Whether the new render pass is successfully added
-             */
-            insertRenderPass(renderObj: pipeline.IRenderObject, subModelIdx: number, passIdx: number): boolean;
-            /**
-             * @en Sort the current queue
-             * @zh 排序渲染队列。
-             */
-            sort(): void;
-            recordCommandBuffer(device: gfx.Device, renderPass: gfx.RenderPass, cmdBuff: gfx.CommandBuffer): void;
-        }
-        /**
-         * @en Render queue for instanced batching
-         * @zh 渲染合批队列。
-         */
-        export class _cocos_rendering_render_instanced_queue__RenderInstancedQueue {
-            /**
-             * @en A set of instanced buffer
-             * @zh Instance 合批缓存集合。
-             */
-            queue: Set<InstancedBuffer>;
-            /**
-             * @en Clear the render queue
-             * @zh 清空渲染队列。
-             */
-            clear(): void;
-            sort(): void;
-            uploadBuffers(cmdBuff: gfx.CommandBuffer): void;
-            /**
-             * @en Record command buffer for the current queue
-             * @zh 记录命令缓冲。
-             * @param cmdBuff The command buffer to store the result
-             */
-            recordCommandBuffer(device: gfx.Device, renderPass: gfx.RenderPass, cmdBuff: gfx.CommandBuffer, descriptorSet?: gfx.DescriptorSet | null, dynamicOffsets?: Readonly<number[]>): void;
-        }
-        export class _cocos_rendering_deferred_deferred_pipeline__DeferredRenderData extends _cocos_rendering_render_pipeline__PipelineRenderData {
-            gbufferFrameBuffer: gfx.Framebuffer;
-            gbufferRenderTargets: gfx.Texture[];
-        }
         export interface _cocos_rendering_instanced_buffer__IInstancedItem {
             count: number;
             capacity: number;
             vb: gfx.Buffer;
@@ -63903,8 +63722,53 @@
             TRT = 15,
             TT = 16,
             MAX_BIT_COUNT = 17
         }
+        /**
+         * @en Render flow information descriptor
+         * @zh 渲染流程描述信息。
+         */
+        export interface _cocos_rendering_render_flow__IRenderFlowInfo {
+            name: string;
+            priority: number;
+            stages: RenderStage[];
+            tag?: number;
+        }
+        export enum _cocos_rendering_pipeline_serialization__RenderQueueSortMode {
+            FRONT_TO_BACK = 0,
+            BACK_TO_FRONT = 1
+        }
+        /**
+         * @en The render queue descriptor
+         * @zh 渲染队列描述信息
+         */
+        export class _cocos_rendering_pipeline_serialization__RenderQueueDesc {
+            /**
+             * @en Whether the render queue is a transparent queue
+             * @zh 当前队列是否是半透明队列
+             */
+            isTransparent: boolean;
+            /**
+             * @en The sort mode of the render queue
+             * @zh 渲染队列的排序模式
+             */
+            sortMode: _cocos_rendering_pipeline_serialization__RenderQueueSortMode;
+            /**
+             * @en The stages using this queue
+             * @zh 使用当前渲染队列的阶段列表
+             */
+            stages: string[];
+        }
+        /**
+         * @en The render stage information descriptor
+         * @zh 渲染阶段描述信息。
+         */
+        export interface _cocos_rendering_render_stage__IRenderStageInfo {
+            name: string;
+            priority: number;
+            tag?: number;
+            renderQueues?: _cocos_rendering_pipeline_serialization__RenderQueueDesc[];
+        }
         export enum _cocos_scene_graph_node_event_processor__DispatcherEventType {
             ADD_POINTER_EVENT_PROCESSOR = 0,
             REMOVE_POINTER_EVENT_PROCESSOR = 1,
             MARK_LIST_DIRTY = 2
@@ -67346,8 +67210,144 @@
          * @en Calculate the distance of point to line.
          * @zh 计算点到直线的距离。如果这是一条线段并且垂足不在线段内,则会计算点到线段端点的距离。
          */
         function _cocos_physics_2d_builtin_intersection_2d__pointLineDistance(point: Readonly<math.Vec2>, start: Readonly<math.Vec2>, end: Readonly<math.Vec2>, isSegment: boolean): number;
+        export class _cocos_rendering_render_pipeline__BloomRenderData {
+            renderPass: gfx.RenderPass;
+            sampler: gfx.Sampler;
+            prefiterTex: gfx.Texture;
+            downsampleTexs: gfx.Texture[];
+            upsampleTexs: gfx.Texture[];
+            combineTex: gfx.Texture;
+            prefilterFramebuffer: gfx.Framebuffer;
+            downsampleFramebuffers: gfx.Framebuffer[];
+            upsampleFramebuffers: gfx.Framebuffer[];
+            combineFramebuffer: gfx.Framebuffer;
+        }
+        export class _cocos_rendering_render_pipeline__PipelineRenderData {
+            outputFrameBuffer: gfx.Framebuffer;
+            outputRenderTargets: gfx.Texture[];
+            outputDepth: gfx.Texture;
+            sampler: gfx.Sampler;
+            bloom: _cocos_rendering_render_pipeline__BloomRenderData | null;
+        }
+        export class _cocos_rendering_pipeline_ubo__PipelineUBO {
+            static updateGlobalUBOView(window: renderer.RenderWindow, bufferView: Float32Array): void;
+            static updateCameraUBOView(pipeline: _cocos_rendering_custom_pipeline__PipelineRuntime, bufferView: Float32Array, camera: renderer.scene.Camera): void;
+            static getPCFRadius(shadowInfo: renderer.scene.Shadows, mainLight: renderer.scene.DirectionalLight): number;
+            static updatePlanarNormalAndDistance(shadowInfo: renderer.scene.Shadows, shadowUBO: Float32Array): void;
+            static updateShadowUBOView(pipeline: _cocos_rendering_custom_pipeline__PipelineRuntime, shadowBufferView: Float32Array, csmBufferView: Float32Array, camera: renderer.scene.Camera): void;
+            static updateShadowUBOLightView(pipeline: _cocos_rendering_custom_pipeline__PipelineRuntime, shadowBufferView: Float32Array, light: renderer.scene.Light, level: number): void;
+            protected _globalUBO: Float32Array;
+            protected _cameraUBO: Float32Array;
+            protected _shadowUBO: Float32Array;
+            protected _csmUBO: Float32Array;
+            static _combineSignY: number;
+            protected _device: gfx.Device;
+            protected _pipeline: _cocos_rendering_custom_pipeline__PipelineRuntime;
+            /**
+             *|combinedSignY|clipSpaceSignY|screenSpaceSignY| Backends |
+             *|    :--:     |    :--:      |      :--:      |   :--:   |
+             *|      0      |      -1      |      -1        |  Vulkan  |
+             *|      1      |       1      |      -1        |  Metal   |
+             *|      2      |      -1      |       1        |          |
+             *|      3      |       1      |       1        |  GL-like |
+             */
+            static getCombineSignY(): number;
+            activate(device: gfx.Device, pipeline: _cocos_rendering_custom_pipeline__PipelineRuntime): void;
+            /**
+             * @en Update all UBOs
+             * @zh 更新全部 UBO。
+             */
+            updateGlobalUBO(window: renderer.RenderWindow): void;
+            updateCameraUBO(camera: renderer.scene.Camera): void;
+            updateShadowUBO(camera: renderer.scene.Camera): void;
+            updateShadowUBOLight(globalDS: gfx.DescriptorSet, light: renderer.scene.Light, level?: number): void;
+            updateShadowUBORange(offset: number, data: math.Mat4 | math.Color): void;
+            destroy(): void;
+        }
+        /**
+         * @en Render pipeline information descriptor
+         * @zh 渲染管线描述信息。
+         */
+        export interface _cocos_rendering_render_pipeline__IRenderPipelineInfo {
+            flows: RenderFlow[];
+            tag?: number;
+        }
+        export class _cocos_rendering_render_pipeline__PipelineInputAssemblerData {
+            quadIB: gfx.Buffer | null;
+            quadVB: gfx.Buffer | null;
+            quadIA: gfx.InputAssembler | null;
+        }
+        export class _cocos_rendering_pipeline_serialization__RenderTextureConfig {
+            name: string;
+            texture: RenderTexture | null;
+        }
+        /**
+         * @en The render queue. It manages a GFX [[RenderPass]] queue which will be executed by the [[RenderStage]].
+         * @zh 渲染队列。它管理一个 GFX [[RenderPass]] 队列,队列中的渲染过程会被 [[RenderStage]] 所执行。
+         */
+        export class _cocos_rendering_render_queue__RenderQueue {
+            /**
+             * @en A cached array of render passes
+             * @zh 基于缓存数组的渲染过程队列。
+             */
+            queue: memop.CachedArray<pipeline.IRenderPass>;
+            /**
+             * @en Construct a RenderQueue with render queue descriptor
+             * @zh 利用渲染队列描述来构造一个 RenderQueue。
+             * @param desc Render queue descriptor
+             */
+            constructor(desc: pipeline.IRenderQueueDesc);
+            /**
+             * @en Clear the render queue
+             * @zh 清空渲染队列。
+             */
+            clear(): void;
+            /**
+             * @en Insert a render pass into the queue
+             * @zh 插入渲染过程。
+             * @param renderObj The render object of the pass
+             * @param modelIdx The model id
+             * @param passIdx The pass id
+             * @returns Whether the new render pass is successfully added
+             */
+            insertRenderPass(renderObj: pipeline.IRenderObject, subModelIdx: number, passIdx: number): boolean;
+            /**
+             * @en Sort the current queue
+             * @zh 排序渲染队列。
+             */
+            sort(): void;
+            recordCommandBuffer(device: gfx.Device, renderPass: gfx.RenderPass, cmdBuff: gfx.CommandBuffer): void;
+        }
+        /**
+         * @en Render queue for instanced batching
+         * @zh 渲染合批队列。
+         */
+        export class _cocos_rendering_render_instanced_queue__RenderInstancedQueue {
+            /**
+             * @en A set of instanced buffer
+             * @zh Instance 合批缓存集合。
+             */
+            queue: Set<InstancedBuffer>;
+            /**
+             * @en Clear the render queue
+             * @zh 清空渲染队列。
+             */
+            clear(): void;
+            sort(): void;
+            uploadBuffers(cmdBuff: gfx.CommandBuffer): void;
+            /**
+             * @en Record command buffer for the current queue
+             * @zh 记录命令缓冲。
+             * @param cmdBuff The command buffer to store the result
+             */
+            recordCommandBuffer(device: gfx.Device, renderPass: gfx.RenderPass, cmdBuff: gfx.CommandBuffer, descriptorSet?: gfx.DescriptorSet | null, dynamicOffsets?: Readonly<number[]>): void;
+        }
+        export class _cocos_rendering_deferred_deferred_pipeline__DeferredRenderData extends _cocos_rendering_render_pipeline__PipelineRenderData {
+            gbufferFrameBuffer: gfx.Framebuffer;
+            gbufferRenderTargets: gfx.Texture[];
+        }
         export class _cocos_particle_2d_particle_simulator_2d__Particle {
             pos: math.Vec2;
             startPos: math.Vec2;
             color: math.Color;

@star-e
Copy link
Contributor Author

star-e commented Jun 27, 2024

@cocos-robot run test cases

1 similar comment
@star-e
Copy link
Contributor Author

star-e commented Jun 27, 2024

@cocos-robot run test cases

Copy link

@star-e, Please check the result of run test cases:

Task Details

Platform build boot runned crashScene FailScene
ios PASS PASS FAIL
mac PASS PASS FAIL

Copy link

@star-e, Please check the result of run test cases:

Task Details

Platform build boot runned crashScene FailScene
web-mobile PASS PASS FAIL
windows PASS PASS FAIL
android PASS PASS FAIL

@star-e star-e closed this Jun 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant