galacean / engine-toolkit

Some out-of-the-box utility features based on the Galacean engine.
https://oasisengine.cn
MIT License
72 stars 25 forks source link

可不可以出一个类似SRP的可以自定义绘制调用的重写啊 #248

Open 625673575 opened 6 months ago

625673575 commented 6 months ago

在开发MRT,渲染到纹理,后处理等功能时遇到的问题,通过各种render Event做起来代码完全没法看,还总是容易爆出bug

如果能有个重写绘制流程的函数,像URP那样的,然后可以用户自己定制绘制过程,也方便取到中间的FBO,那就非常方便了

zhuxudong commented 6 months ago

可以参考下游乐场的 MRT 案例:https://galacean.antgroup.com/#/examples/latest/mrt 然后关于你说的render event 是什么,可以提供一下上下文么,我们去调研一下

625673575 commented 6 months ago

核心问题就是写类似的案例的时候,只能通过onBeginRender和onEndRender加上反复设置camera.renderTarget=null和各种layer造成的依赖及其容易变得复杂,出了警告之后也很难排查

zhuxudong commented 5 months ago

目前阶段的管线钩子的确只开放了onBeginRenderonEndRender,确实灵活程度不高,但是你可以通过这个 Web端管线插件 查看每一帧(包括离屏渲染)的细节,我们也会在1.3以后逐步开放后处理管线和 SRP 在不久的未来。