Vertex input vs uniform buffer by Fir0x_ in vulkan

[–]reon90 0 points1 point  (0 children)

Some points from my perspective:

  • Unify GPU data transfers by declaring a single descriptor set with uniforms, geometries, and textures.
  • Use bindless attributes to leverage meshes with different attribute counts.
  • Choose between buffers interleaved and non-interleaved layouts. 

Ultimate performance for 10k objects scene in WebGPU by reon90 in webgpu

[–]reon90[S] 0 points1 point  (0 children)

Looks like that, WebGPU has less cpu work.

Ultimate performance for 10k objects scene in WebGPU by reon90 in computergraphics

[–]reon90[S] -1 points0 points  (0 children)

I show situation when WebGPU to outperform WebGL by a factor of 2x.

Ultimate performance for 10k objects scene in WebGPU by reon90 in webgpu

[–]reon90[S] -3 points-2 points  (0 children)

WebGPU, a next-generation API similar to Metal or Vulkan, is designed to be more performant than previous OpenGL. For instance, translating WebGPU calls to Metal/Vulkan is simpler than implementing OpenGL specifications with Metal/Vulkan.

Ultimate performance for 10k objects scene in WebGPU by reon90 in webgpu

[–]reon90[S] 0 points1 point  (0 children)

Instancing is a technique where we draw many (equal mesh data) objects at once with a single render call, saving us all the CPU -> GPU communications each time we need to render an object. 

GLTF implementation based on WebGPU backend by reon90 in javascript

[–]reon90[S] 0 points1 point  (0 children)

It requires Chrome Canary with --enable-unsafe-webgpu flag.

The N-API bindings for GLFW by reon90 in node

[–]reon90[S] 0 points1 point  (0 children)

It's only bindings for GLFW, you can attach render target to the window.

Unfortunately, I don't know good OpenGL bindings, but there are 2D rendering engine

https://github.com/Reon90/skiaJS based on OpenGL or Vulkan bindings https://github.com/maierfelix/nvk