2

Most rendering engines do need to handle multiple vertex structures depending on the type of shading being used on the mesh. If there are only a small number of discrete vertex structures, you could simply create an enum to list them and define a struct for each one. However, many rendering engines take a fully data-driven approach to it, where there is no ...


2

My best guess at why you are not seeing a speed up with your user geometry, is that your example does not contain much BVH traversal. With traversing a triangle/quad mesh more time is spent traversing the BVH to decide which triangle you want to test than actually testing triangles. This is where embree really shines. It looks like your user geometry is just ...


1

The Z buffer used to be specialized memory set aside for a single purpose, some web sites still explain it like that, but no longer. Now the Z buffer is just a chunk of memory you allocate, or an API like OpenGL allocates on your behalf. The size of that chunk of memory will depend on the type of the Z buffer values, in the example you gave it is a 32bit [...


1

This is more of a long comment than an answer. As with most yes or no questions in graphics, the answer is "it depends on the task". However, one particular task that you might find having multiple gpu's useful is debugging. For example if you are using cuda-gdb for debugging your CUDA application, it would be nice to have multiple gpu's, one for ...


1

Broadly speaking, no, these won't really matter. In specific cases, it could, but only because it might influence the order in which work groups are processed. And that would mean that it might influence cache behavior and the like, which could matter if neighboring work groups access related memories. But even in such a case, which one is better would ...


Only top voted, non community-wiki answers of a minimum length are eligible