Now using the generated grid vertices and indices directly, drawing the warp mesh in a single draw call. This will increase the number of drawn vertices, but all GPUs made in the past decade can easily deal with 100K triangles or more.
This will prevent the playback history from vanishing unexpectedly in case a preset can't be loaded.
Also fixed a few typos in the Doxygen comments and clarified how the history is changed when changing the playlist.
The community presets link is very old. Here's why:
- It contains .mil or other extension files, which is not a preset extension.
- Some of the presets are required some textures, which these aren't included and it's missing.
With my latest MegaPack, all of the presets are messy-free (no extension clutter), hardly patch fixed and included textures for use in presets.
This will enable any future changes to the header to be tested. These additional build checks are only executed if BUILD_TESTING is enabled (e.g. in our automated build checks) to speed up release builds.
Most playlist headers did not compile in pure C, as types like bool and size_t are used in calls. Added the proper includes as needed to make each header compile if included standalone.
If a preset uses different long-form samplers for a single random slot, this will result in a failure, e.g. using both "sampler_rand00_something" and "sampler_rand00_else". As this also isn't supported by Milkdrop and would create a conflict situation, we don't care.
Had to simulate it with the "x * exp2(exp)" expression in GLSL, as GLSL only supports integer types as exponents in its native ldexp implementation, while HLSL solely uses floats.
Doxygen documentation now mentions that the playlist library will set the preset switch callbacks in projectM and needs them to function properly. Added hints on how to restore functionality if needed.