Commit Graph

2741 Commits

Author SHA1 Message Date
b9fce40eb9 include stdbool 2025-03-23 16:00:26 -07:00
aea30c5ed9 didnt mean to commit 2025-03-23 08:20:45 -07:00
e3c53cc880 bleh 2025-03-22 22:47:54 -07:00
d89eec06d0 use relative paths 2025-03-22 22:43:08 -07:00
7465b192f3 GLOB_RECURSE 2025-03-22 22:37:47 -07:00
91672a1401 CMakeLists.txt is needed 2025-03-22 22:27:43 -07:00
4f7c018e34 CMakeLists.txt is needed 2025-03-22 22:20:31 -07:00
79d2d2cc97 Cleanup 2025-03-22 22:18:44 -07:00
91a487c828 Test headers are kosher 2025-03-22 22:16:08 -07: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
fa3a15c4cb Use CMakeLists.txt in GLM source dir
Also simplified it a bit, excluding the unnecessary source files and adding the interface library on the top level CMakeLists.txt.
2024-03-19 23:14:09 +01:00
50c0f02b6d Add pthreads option for emscripten 2024-03-19 23:14:04 +01:00
50c64d4e65 Update README.md
Mention rust frontend
2024-03-09 08:27:06 -08:00