Is there a migration guide on WebGLRenderer to WebGPURenderer?

My original App is based on WebGLRenderer(r158), used tons of features like RenderTarget, MRT, ShaderMaterial, NodeMaterial, PostProcessing, etc.

Now I am going to upgrade threejs to r167 and migrate to webgpu. After a breif reading on version changelog, migration guide and the change of code struction, I noticed that it will be a huge task to migrate my App from current state to webgpu, such as render to renderAsync, all ShaderMaterial to tsl, postprocessing pass also need to fix. Other changes will be more I assume but I haven’t figure it out.

This change should be meaningful so the challenge is worth it. However if there is a migration guide, it will be so grateful!

I’ve run into the same issue. Can anyone help me, please?

I am not aware of a migration guide. It took me a few months to migrate my app and to be able to do some things much better when I did.
Since the node system is very extensive and webgpu often does not offer a 1:1 equivalent in functionality to webgl but rather takes new paths, creating a migration guide would probably also be a larger project.
Three.js also takes the opportunity to explore a lot of new ways with the node system, and I’m always amazed by the improvements in efficiency and quality.
Unfortunately, the reality is that you have to make the effort to migrate your app step by step. The examples have now become quite extensive.

With his ocean app, phil_crowther has a very clear app on github if you want to learn how to use raw wgsl shaders in three.js.
My ocean app on github is a little more extensive but unfortunately also a little more demanding.

Phil and I worked together on the ocean project, so we each created apps.
I’m sorry that I can’t write a nicer message, but once Phil and I have managed that, you will too in time :+1: