Max Draw Calls and Max Vertex Count
by Paul Yoskowitz · in Torque 3D Professional · 10/19/2014 (5:47 pm) · 7 replies
What's the max draw calls and max vertex count in stock T3D? I had an artist tell me that it's handled in the engine and I also heard that its hardware restricted.
can someone enlighten me plz
can someone enlighten me plz
About the author
http://winterleafentertainment.com/
#2
As Duion mentioned, in stock T3D due to the deferred lighting the geometry is rendered twice and thus you'll see a poly count double what's in the scene. This is an accurate poly count though since that many polys have to be rendered to create the final image you see. Just be prepared to see a 60k model up the poly count by 120k since it has to render twice (unless you switch to deferred shading ;)
10/20/2014 (8:24 am)
As far as I know there is no imposed limit in the code. I've heard the asset import system breaks down with models in the millions of polys (I believe 20mil broke it at one point) but as for rendering limits, I don't believe there are any. Same with draw calls. As far as I know you could stack as many as you want as long as you're willing to pay for it. Likely hit a driver limit before a Torque limit.As Duion mentioned, in stock T3D due to the deferred lighting the geometry is rendered twice and thus you'll see a poly count double what's in the scene. This is an accurate poly count though since that many polys have to be rendered to create the final image you see. Just be prepared to see a 60k model up the poly count by 120k since it has to render twice (unless you switch to deferred shading ;)
#3
In TGE/TGEA they used 16-bit primitive buffers. Not sure what's going on in T3D but I guess they're now using 32-bit ones based on what Andrew said above. That only affects each model (edit: mesh!) though and not the scene.
It's hardware restricted in a sense; you can only have as many vertices as there is memory on the GPU.
10/20/2014 (7:14 pm)
What Andrew said. In TGE/TGEA they used 16-bit primitive buffers. Not sure what's going on in T3D but I guess they're now using 32-bit ones based on what Andrew said above. That only affects each model (edit: mesh!) though and not the scene.
It's hardware restricted in a sense; you can only have as many vertices as there is memory on the GPU.
#4
10/20/2014 (7:18 pm)
max 3000 drawcalls was also NVIDIA's advise a couple of years back, because of hardware limits. Think it would be safe to stay below that. For the amount of polys; I guess it's more a question about how low do you want to go with your fps...
#5
10/21/2014 (11:39 am)
While T3D stores indices for models as 32 bits (probably for the collada stuff), it still converts them to 16bit when drawing meaning you are limited to 65536 verts in a single draw call.
#7
Yup I can confirm that, learned it the hard way. Only workaround is to cut the model into smaller pieces. Keep the pieces way below 25K verts to make sure no parts of the model are missing during collada import ;o)
10/21/2014 (8:03 pm)
Quote:While T3D stores indices for models as 32 bits (probably for the collada stuff), it still converts them to 16bit when drawing meaning you are limited to 65536 verts in a single draw call.
Yup I can confirm that, learned it the hard way. Only workaround is to cut the model into smaller pieces. Keep the pieces way below 25K verts to make sure no parts of the model are missing during collada import ;o)
Duion
But I think Torque does count the polygons double or triple in advanced lighting, so this values are related to Torques ingame counter.
So for real polygons more around 1 million maximum per scene, but you have to test it, since there is many factors for performance.