I wrote a blog post where I tried making WebGPU accessible to folks with little to no prior knowledge about graphics programming (i.e. me). Maybe you'll find it useful!
RedGPU 2.0 Preview About PostEffect
Working on the post effect basic structure has been prototyped. This is the step of testing on a single pass effect basis.
Preview Demo : https://redcamel.github.io/Rnd_Doc/host/index.html…#WebGPU
I know there is no way to check the GPU usage of the browser in real time.
But you have to guess and manage. Has anyone done a study like this? Please teach me if
https://redcamel.github.io/Rnd_Doc/host/index.html…
research on RedGPU 2.0...
I am thinking about GPU resource management.
For example, real-time monitoring of how many materials a single GPUTexture is used. But the most difficult thing is that the GPU memory cannot be observed in real time -0-;;
#webgpu
In the existing WebGL, render optimization was applied through static LOD generation. I would like to get information about dynamic LOD rendering using WebGPU.
Do you have any references? I need help.
#WebGPU#LOD
Condition: 1024 PointLight + 2000 Sphere Transform
1. Timing cluster calculations.
2. Change mesh related Uniform update timing to culling based
More optimizations were achieved by focusing on the above two improvements.
Live Demo (for Canary) - https://redcamel.github.io/Rnd_Doc/host/index.html…#WebGPU
1. (Completed) Object culling has been completed.
2. (Done) Lights are clustered.
3. (Task) If the light itself is small like the LOD concept, it needs to be deleted.
4. (Task) Need to solve the case where the gpuDevice is lost when there is a lot of computation.
Clustering 256 point lights
I succeeded in rendering 1000 objects at 60 frames.
However, optimization is needed for when the screen calculation according to the number of objects, the number of lights, and the resolution is exceeded...
#WebGPU
It's a personal desire to use multiple lights while making the most of individual forward rendering... The complexity is too complex to be nailed down with delayed rendering like a professional game engine developer -_--;;;;
These days, research is underway to upgrade RedGPU to 2.0...
I am still wandering at the crossroads of choice. because? Because of the large number of lights.
therefore..
In the last few days, I've been researching 'delayed rendering' and 'forward rendering' from scratch.
#WebGPU
To overcome this, it is most efficient to combine 1000 lights into 1 render via delayed render.
But I also want to use a huge uniform buffer....how can I attach a fragment uniform with good performance...
Using a huge uniform buffer per fragment in webgpu is very slow. -_-;;
For example, if you apply 1000 point lights to 1 object, it's fine, but if you apply 1000 lights to 1000 objects, it becomes difficult.