[HN Gopher] Bindless Oriented Graphics Programming
       ___________________________________________________________________
        
       Bindless Oriented Graphics Programming
        
       Author : ibobev
       Score  : 25 points
       Date   : 2026-01-07 08:44 UTC (3 days ago)
        
 (HTM) web link (alextardif.com)
 (TXT) w3m dump (alextardif.com)
        
       | petermcneeley wrote:
       | In terms of textures you could already do pseudo-bindless using
       | texture arrays. However there were quite a few limitations but I
       | think the two bigs ones are that this was consider to be
       | conceptually one resource and the textures had to be the same
       | (format size etc). I recall some engines did this kind of
       | bindless for particle effects.
       | 
       | That being said the non indexable feature feature that remains is
       | the pipeline itself. Some engines have 10s of thousands of
       | shaders.
        
       | Animats wrote:
       | Bindless Vulkan is in some ways simpler than binding for each
       | draw. But there are now more synchronization conditions.
       | 
       | That big table of descriptors is an unusual data object. It's
       | normally mapped as writable from the CPU and readable from the
       | GPU. The CPU side has to track which slots are in use. When the
       | CPU is done with a texture slot, the GPU might not be done yet,
       | so all deletes have to deferred until the end of the frame. This
       | isn't inherently difficult but has to be designed in.
       | 
       | The usual curse of inefficient Vulkan is maxing out the main CPU
       | thread long before the GPU is fully utilized. This is fixable.
       | There can be multiple draw threads. Assets can be loaded into the
       | GPU while drawing is in progress, using transfer queues and DMA.
       | Except that for integrated memory GPUs, you don't have to copy
       | from CPU to GPU at all. If you do all this, GPU utilization
       | should reach 100% before CPU utilization does.
       | 
       | Except most of this stuff doesn't work on mobile or WebGPU yet.
       | Portable code has way too many cases. Look at WGPU.
       | 
       | What you get by using Unity or Unreal Engine is that a big team
       | already worked through all this overhead. Most of the open source
       | renderers aren't there yet. Or weren't as of a year ago.
        
       | jauntywundrkind wrote:
       | Fingers crossed for webgpu bindless keeping on!
       | https://hackmd.io/PCwnjLyVSqmLfTRSqH0viA?view
        
       ___________________________________________________________________
       (page generated 2026-01-10 23:00 UTC)