3e67f6e477
Update SOIL2 to v1.31 to fix issue with GL_OES_texture_npot
...
Resolves issue #910
Fail over to glGetString if SOIL_GL_GetProcAddress fails
Signed-off-by: Kai Blaschke <kai.blaschke@kb-dev.net >
2025-10-27 19:06:27 +01:00
1050d61845
Resolves #912 - Seg fault caused by m_sprites modification during iteration
2025-10-27 19:04:36 +01:00
f76e3e2a4d
Update README.md
2025-10-27 19:03:00 +01:00
6639a8252a
Update CMake build instructions
...
Signed-off-by: Kai Blaschke <kai.blaschke@kb-dev.net >
2025-10-27 11:22:57 +01:00
f92f9a54b8
Update discord invite link
2025-10-26 15:33:11 -07:00
b3e7e8cdba
Convert HLSL array subscript operator operand to int
2025-09-11 10:56:36 +02:00
d89c09ef5f
Update projectm-eval submodule to v1.0.3
2025-08-04 19:41:55 +02:00
39c3ddc43c
Redirect link to the latest MegaPack presets.
...
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.
2025-07-30 12:49:16 +03:00
0d784d9054
Update links to development releases in README.md
2025-06-10 21:11:58 +02:00
c94063bcb5
Fix Emscripten build check workflow
2025-04-30 08:34:49 +02:00
b742bc0082
Add API header compile tests for C
...
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.
2025-03-24 10:00:24 +01:00
3a79ff4ff2
Fix playlist API header includes
...
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.
2025-03-24 09:32:33 +01:00
0227b7a61d
Issue #872 : Fix float overflow in plasma transition shader
2025-02-28 11:37:39 +01:00
5a31295172
Let the static playlist library depend on the static symbols of the projectM library
2025-02-27 17:16:11 +01:00
fa67d837a5
Add user sprite functions to C API.
2025-02-27 16:57:03 +01:00
631573a4f0
Add user sprite proxy functions to ProjectM class.
2025-02-27 15:55:14 +01:00
9266716ef6
Implement user sprite manager and factory
2025-02-27 15:55:14 +01:00
760a4c9c95
Add Milkdrop user sprites
2025-02-27 15:55:14 +01:00
f0bad56ca1
Treat keys in FileParser case-insensitively
...
Presets and user sprites could use any casing for the keys, so we should also behave properly.
2025-02-27 15:55:14 +01:00
86164bece1
Remove misleading ToDo comments for title and sprite drawing.
2025-02-27 15:55:14 +01:00
5eb037efc1
Make shader resource file generation reusable
2025-02-27 15:55:14 +01:00
fbdb18b355
Move FileParser to main directory.
...
Makes it easier to reuse for loading sprites.
2025-02-27 15:55:13 +01:00
1ed2967e35
Add transition/blending progress to render context
2025-02-27 15:55:13 +01:00
458a63d8a5
Cache compiled static preset shaders
2025-02-27 15:55:13 +01:00
a2e9a91651
Add a global shader cache
2025-02-27 15:55:07 +01:00
1b7c7c844c
Fix ninja package name in BUILDING.md
...
Debian and Ubuntu package the Ninja build system as `ninja-build` not `ninja`.
2025-01-04 19:36:41 +00:00
9f47262a18
Add both long and short sampler names for random textures.
...
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.
2024-12-16 17:49:16 +01:00
a77df53bc7
hlslparser: Add missing "faceforward" HLSL intrinsic.
2024-12-16 17:43:18 +01:00
e7e77baa96
hlslparser: Add missing "ldexp" HLSL intrinsic.
...
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.
2024-12-16 17:43:14 +01:00
e90dc28e35
Improve playlist documentation regarding callbacks.
...
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.
2024-12-09 14:29:18 +01:00
3eaa733b8b
Added the version since each API call is available to Doxygen comments.
2024-12-09 14:29:16 +01:00
7f48e6c3c3
Updated copyright dates and AUTHORS.txt
2024-12-09 13:33:43 +01:00
9aa18cd985
Bump dawidd6/action-download-artifact from 2 to 6 in /.github/workflows
...
Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact ) from 2 to 6.
- [Release notes](https://github.com/dawidd6/action-download-artifact/releases )
- [Commits](https://github.com/dawidd6/action-download-artifact/compare/v2...v6 )
---
updated-dependencies:
- dependency-name: dawidd6/action-download-artifact
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-11-26 09:20:19 +01:00
f2a0277ddd
Fix texture loading if casing mismatches filename
...
Always use lower-case unqualified names to find and cache the actual textures.
2024-10-07 12:08:44 +02:00
f6ff7943c1
Add "refract()" intrinsic support to hlslparser
2024-08-26 09:53:05 +02:00
1b8004f714
Improve vcpkg manifest, use features for build options.
...
Now pulling in the required vcpkg dependencies only if a certain build feature is requested.
2024-08-07 18:31:32 +02:00
1711511f36
Fixed variable using reserved word in vertex shader
...
OpenGL ES has a distance() function, and thus, the shader may fail to compile in some drivers, e.g. some Android releases.
2024-08-04 17:04:45 +02:00
4e9040f338
Properly check for uninitialized texture in CopyTexture class.
...
Before rendering the first frame, there is no output texture present in a preset, so we can't copy anything and should just skip that step.
2024-07-12 14:25:28 +02:00
f94f99d888
Make preset transitions use TimeKeeper instead of the system clock
2024-06-09 13:04:01 +02:00
2914d85ec3
Add API functions to set and retrieve frame times
...
Setting a custom frame time will result in stable animation speeds if projectM does not render at real-time speeds, e.g. while encoding a video from an audio file as fast as possible.
2024-06-09 12:51:35 +02:00
bd2b1ba9f4
Add API function to enable rendering to custom FBO IDs
2024-06-08 17:22:23 +02:00
b0cdf4de7b
Add optional FBO ID parameter to render function.
...
This will allow external apps to pass in any custom FBO to render to. Defaults to 0, keeping previous behavior if not given.
2024-06-08 17:22:23 +02:00
91f329111f
Hard-code internal noise texture format for GL Core profiles
...
glGetInternalformativ() also is an addition in OpenGL Core 4.2, which we don't officially support.
2024-05-13 17:55:26 +02:00
f60cd86ab6
Add option to use system projectm-eval (used in vcpkg)
2024-05-03 15:09:33 -05:00
6e817a179f
New bug report and feature request templates
2024-04-28 17:38:11 +02:00
ac77498318
nobody reads comments anyway
2024-04-18 23:49:31 +02:00
99259dc98a
swaps misordered label values
2024-04-18 23:49:31 +02:00
e538ccc615
Fix bug that prevents composite shader from being loaded
...
Happens in the rare cases if a preset has no warp shader
2024-03-19 23:14:10 +01:00
436fd5221b
Fix include dirs in SOIL2 library
2024-03-19 23:14:09 +01:00
bc9937f34e
Fix #if USE_GLES to #ifdef in SDL test UI
2024-03-19 23:14:09 +01:00