Hello Everyone,
I’m building a hybrid render package on top of the DrawMeshInstancedIndirect API while keeping the midrange ‘OpenGL ES 3+’ devices in mind, so I have a very limited number of ComputeBuffers. ‘AFAIK is a minimum of 4’.
the problem with this API is that it requires creating a ComputeBuffer args per DrawCall, which is a big waste.
Is there an alternative / workaround to this?
Thanks in advance!
Hi!
‘A minimum of 4’ is per draw call, not total. Normally there’s more, that’s just what is guaranteed by the specification. Note: compute is available on OpenGL ES 3.1+.
1 Like
Thank you for the reply!
what do you mean by “A minimum of 4 per draw call”.
can you please give an example of use case where it is possible and where it is not.
Thanks again!
This means that a single draw call can use up to at least 4 compute buffers in total. A compute buffer that is used for DrawMeshInstancedIndirect counts towards that limit. So if you are on a device that supports up to 4 compute buffers per draw call, you can use the remaining three in your shader for rendering.
1 Like