Page 1 of 1

Bindless rendering

Posted: Wed Apr 29, 2009 12:51 pm
by volca
This caught my eye, it sounds too nice to be true (So I thought it would be interesting to share/discuss): http://developer.nvidia.com/object/bind ... phics.html

If I understand it right it means that the render states are not initialized per frame/buffer object again and again, instead they are stored on GPU and referenced with GPU memory pointers. Other interesting usages are mentioned as well. Nice to see some progress on the openGL side :)

Re: Bindless rendering

Posted: Wed Apr 29, 2009 1:02 pm
by Klaim
I've seen the news too on the OpenGl website, they started a discussion on it.

Re: Bindless rendering

Posted: Tue Jun 23, 2009 11:11 pm
by :wumpus:
Very interesting, thanks for the link :)

Re: Bindless rendering

Posted: Wed Jun 24, 2009 9:42 am
by lonewolff
Nice one! 8)

Re: Bindless rendering

Posted: Thu Jun 25, 2009 1:35 am
by :wumpus:
It shoudn't be too hard to integrate it into Ogre, I might give it a try one of these days :) Just to see what kind of speedup it will give.

Re: Bindless rendering

Posted: Thu Jun 25, 2009 11:13 am
by volca
Now, that would be interesting :)

Re: Bindless rendering

Posted: Thu Jun 25, 2009 1:15 pm
by :wumpus:
I've tried a simple program (outside of Ogre, first) that renders thousands of draw calls per frame, and I am unable to get a speed-up using this extension. I've tried:

Code: Select all

- render loop
  - change material A
    - render submesh A 1000 times
  - change material B
    - render submesh B 1000 times
  ...
and

Code: Select all

- render loop
  - render 1000 times:
      - change material A
      - render submesh A
      - change material B
      - render submesh B
      ...
I've tried to render a few different meshes or only one a zillion times. I've tried with large meshes and small, simple meshes...

In all of the cases there was no performance difference at all... seems the performance gain stated by NVidia is overrated enormously.

Of course, this API allows doing things (somewhat) more conveniently, and using complex data structures in shaders, but the promised speed-up is nowhere to be found :(

Re: Bindless rendering

Posted: Thu Jun 25, 2009 2:20 pm
by :wumpus:
Probably, this extension is completely about reducing the CPU load of a draw call, which in my case was not the bottleneck. (it would only become that with a very fast card, or if the rendering speed is limited somehow) I've posted the same question in the official bindless rendering feedback thread to see what they say.

Re: Bindless rendering

Posted: Thu Apr 29, 2010 11:24 pm
by Bontakun
Has any more work been done in this area?

Re: Bindless rendering

Posted: Tue Jul 02, 2013 2:20 pm
by Lee04
Bindless is the new graphics processor architecture.

Without it a 3D engine like Ogre, doesn't support the current 3D processor.

Somparing none bindless with bindless is like comparing fixfunction graphics 3D processors, with programmable graphics processors.

I hope 2.0 of Ogre will totally build upon bindless and more of the new area of graphics processors.

As I have always said,
Graphics processors are under heavy development still.

What we seen so far are just toys of whats comming.

Re: Bindless rendering

Posted: Tue Jul 02, 2013 2:20 pm
by Lee04
Bindless is the new graphics processor architecture.

Without it a 3D engine like Ogre, doesn't support the current 3D processor.

Somparing none bindless with bindless is like comparing fixfunction graphics 3D processors, with programmable graphics processors.

I hope 2.0 of Ogre will totally build upon bindless and more of the new area of graphics processors.

As I have always said,
Graphics processors are under heavy development still.

What we seen so far are just toys of whats comming.