This release fixes one issue from the previous 4.1.5 release which prevents building libprojectM on Windows when using boost::filesystem. In addition to this build fix, numerous preset rendering quality improvements were added.
Huge thanks to @yoyofr for all the testing and fixing these issues!
What's Changed
- Fix compilation issue with boost::filesystem caused by a missing
#includestatement. - Blur textures now use the correct source image (previous frame instead of warped image).
- A vertex shader uniform wasn't set and used uninitialized, causing custom waveforms in "dot" mode to not display properly or at all.
- Fixed some math errors in the default waveform calculations, like placing waveforms at the opposite Y coordinate.
- Fixed the
decayvalue in presets being clamped to a max value of 0.9375 instead of 1.0, causing most Milkdrop 1.4 presets to be rendered way too dark. - Fixed
sepparameter in custom waveforms using the wrong number of samples. - Added additional row-access function overloads for matrices in HLSL/GLSL transpiler.
- Removed half-texel offset in warp shaders, which wasn't required in OpenGL. This fixes an unintended left-top "drift" in all presets.
- Added missing
fwidthintrinsic function in HLSL/GLSL transpiler. - Changed an integer constant to float in the custom
acos(float)function implementation in the HLSL/GLSL transpiler, fixing a shader compilation error. - Fixed erroneous type casting in PCM smoothing logic in custom waves.
- Added a special case for
pow(x, 1)in the HLSL/GLSL transpiler, replacing it with a literalxto match DirectX/HLSL behavior in casesxis negative. - Fixed an issue with loaded presets losing their textures if the application changed texture paths between frames.
- Added more GitHub Actions workflow combinations to check additional build parameters.
- Put the
PS()function in its own line in the HLSL/GLSL transpiler for better readability in case of shader compilation failures.
Full Changelog: v4.1.5...v4.1.6