Kohi Game Engine Forum

Development Discussion => Graphics Programming => Topic started by: DrElliot on Feb 11, 2026, 10:00 AM

Title: Bindless Rendering
Post by: DrElliot on Feb 11, 2026, 10:00 AM
Bindless Rendering Overview

Bindless rendering is a GPU resource model where shaders access buffers and textures directly through GPU-resident handles instead of being restricted by per-draw descriptor bindings. Traditional APIs require resources to be explicitly bound to slots before a draw call. Bindless removes that slot-based indirection and allows shaders to index into large arrays of resources using opaque GPU pointers or descriptor indices.

Classic binding model:


Bindless approach:


Conceptual difference

Traditional:
Bind(Texture0);
Draw();
Bind(Texture1);
Draw();

Bindless:
material.textureIndex = 42;
DrawIndirect();

Shader:
Texture2D textures[]; // large descriptor array
color = textures[material.textureIndex].Sample(...);

Key Properties


API Support

Vulkan:

DirectX 12:

OpenGL:

Why It Matters


Common Architecture Pattern


Example Material Buffer
struct Material
{
uint albedoIndex;
uint normalIndex;
uint metallicRoughnessIndex;
};

Shader flow
Material m = Materials[materialIndex];
Texture2D albedo = Textures[m.albedoIndex];

No CPU descriptor updates per draw.

Tradeoffs


Performance Characteristics

Bindless improves CPU scalability more than raw GPU speed. The GPU cost is similar unless the previous model caused pipeline stalls or descriptor heap switches. The real gains appear in:

Title: Re: Bindless Rendering
Post by: travisvroman on Feb 12, 2026, 08:11 PM
Excellent article, and thanks for submitting this! You might want to convert the markdown to bb markup instead, though.
Title: Re: Bindless Rendering
Post by: DrElliot on Feb 13, 2026, 09:06 PM
Thanks Travis, fixed that up.
Title: Re: Bindless Rendering
Post by: travisvroman on Feb 13, 2026, 09:34 PM
Much better! Thanks for taking the time to do this.
Title: Re: Bindless Rendering
Post by: DrElliot on Feb 14, 2026, 10:41 AM
I really hope more and more support comes for bindless rendering. It's such an efficient technique, but with obvious hardware limitations
Title: Re: Bindless Rendering
Post by: travisvroman on Feb 14, 2026, 09:13 PM
Yeah, that's really the reason I haven't attempted use of it. Support is just meh atm. A shame, really.