0

Is there a limit on maximum number of primitives to be rendered on FBO per frame? If so, is there any glGet or any other API to find out the maximum number of primitives allowed per frame?

I draw a set of triangles into a texture using FBO. When the number of triangles exceed a certain limit, the rendering of that frame fails. Since my code behaves differently for different cards, I believe its graphics card dependent.

It works in Galaxy tab with PowerVR SGX 540 and not in Milestone with PowerVR SGX 530.

EDIT: I found the same problem being discussed in this thread http://www.khronos.org/message_boards/viewtopic.php?f=4&t=1276 Just that instead of the time lag, the application proceeds without rendering that frame in my case. Please look into the thread for more details. Could anyone let me know the answer for this?

Ramya Maithreyi
  • 507
  • 3
  • 12

1 Answers1

1

Are you using VBOs? I would guess it's more likely that you're exceeding the memory limit on the gpu. You can query the memory size and do some quick math to see if that's the case.

CaseyB
  • 24,780
  • 14
  • 77
  • 112
  • No. Since I do not have anything in common between the firest frame and the next, I do not use VBO. I use vertex arrays. How do I query the memory? – Ramya Maithreyi Jun 07 '11 at 12:18
  • And it works fine while rendering directly into surface rather than FBO. I would like to know whether the memory impact would be different for FBO and surface. – Ramya Maithreyi Jun 07 '11 at 12:41
  • The difference would be that you have also allocated the memory for the FBO. The way to query memory depends on the manufacturer. – CaseyB Jun 07 '11 at 13:37