"Any fool can use a computer. Many do."
- Ted Nelson

Updated Metaballs2 demo
Sunday, September 15, 2019 | Permalink

The Metaball2 demo has been updated with a compute shader based fallback path, which allows a much wider range of GPUs to be able to run it. If your GPU supports mesh shaders, you'll be able to toggle between the paths and compare performance. In the end, the performance delta between mesh shaders and compute wasn't all that great, in fact, they're performing roughly the same. There are a number of options available on the F1 dialog you can toggle to compare, like number of balls, size and grid density. It's also interesting to toggle MSAA settings and see that this affects compute path a bit heavier than mesh shader, which is probably because the greater bandwidth needed by the compute path as it needs to write its intermediate data to memory. A similar effect can be seen if you run at higher resolutions.

Name

Comment

Enter the code below



yann
Friday, October 18, 2019

Thanks for this again !

Jason
Wednesday, October 23, 2019

I downloaded Framework4.zip and Metaballs2.zip (both updated September 15, 2019) and the .pipeline files fail to compile with multiple errors:

MarchingCubes.pipeline(114): error : 'binding' : uniform/buffer blocks require layout(binding=X)
MarchingCubes.pipeline(114): error : 'task shaders' : required extension not requested: GL_NV_mesh_shader
CUSTOMBUILD : error : line 0: Unknown flag '--eliminate-common-uniform'. Use --help for a list of valid flags

This is using Visual Studio 2017 and happens with Debug or Release builds.

Humus
Friday, October 25, 2019

Hi Jason!

I did some fixes in the Framework4 recently that fixed compile errors with latest Vulkan SDK. Try downloading the latest version of both the demo and the framework and I believe this should be fixed.