2767 Commits

Author SHA1 Message Date
Kai Blaschke
2fd65e8a8e
Update issue template for general questions
Add a note pointing to the discussion boards instead of opening an issue.

Signed-off-by: Kai Blaschke <kai.blaschke@kb-dev.net>
2025-10-28 17:20:45 +01:00
Kai Blaschke
394106bfd4
Add missing "distance" intrinsic to HLSLparser
Signed-off-by: Kai Blaschke <kai.blaschke@kb-dev.net>
2025-10-28 16:43:35 +01:00
kholbrook1303
890b78a985
Resolves #903: Flip V texture coordinates in sprite rendering to match MilkDrop orientation 2025-10-27 19:29:00 +01:00
Kai Blaschke
765382738b
Add Doxygen documentation, plus a few small fixes. 2025-10-27 19:29:00 +01:00
Kai Blaschke
f8b5573d79
Wrap setting of blend mode/functions in a class. 2025-10-27 19:29:00 +01:00
Kai Blaschke
076f5d9aa0
Remove RenderItem class 2025-10-27 19:29:00 +01:00
Kai Blaschke
ec00a950b7
Use Mesh class in User Sprites 2025-10-27 19:29:00 +01:00
Kai Blaschke
d4404b1c58
Use Mesh class in PresetTransition class 2025-10-27 19:29:00 +01:00
Kai Blaschke
04e1f2ccfa
Use Mesh class in CopyTexture class 2025-10-27 19:29:00 +01:00
Kai Blaschke
11d93e1633
Use Mesh class in classic post-processing effects 2025-10-27 19:28:59 +01:00
Kai Blaschke
bfd11fa3bf
Use Mesh class in Waveform effect 2025-10-27 19:28:59 +01:00
Kai Blaschke
ea5dffa275
Use Mesh class in Video Echo effect 2025-10-27 19:28:59 +01:00
Kai Blaschke
d8ba9a31cb
Use Mesh class in Warp effect
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.
2025-10-27 19:28:59 +01:00
Kai Blaschke
95001a7e77
Use Mesh class in Motion Vector effect
Also get rid of the additional index attribute array, as gl_VertexID contains the same information and is free.
2025-10-27 19:28:59 +01:00
Kai Blaschke
a20fba8d98
Use Mesh class in Final Composite effect 2025-10-27 19:28:59 +01:00
Kai Blaschke
f9a1d97f0e
Use Mesh class in Darken Center effect 2025-10-27 19:28:59 +01:00
Kai Blaschke
a7df3680d9
Use Mesh class in Border effect
Reduced draw calls from 4/8 to 1/2 by specifying 8 vertices accessed via indices to draw each border in a single call.
2025-10-27 19:28:59 +01:00
Kai Blaschke
f5d9546e83
Use Mesh class in Blur effect 2025-10-27 19:28:59 +01:00
Kai Blaschke
6095f32283
Use Mesh class in Custom Shape effect 2025-10-27 19:28:59 +01:00
Kai Blaschke
6287044384
Use Mesh class in Custom Wave effect 2025-10-27 19:28:59 +01:00
Kai Blaschke
7e05f0fe0a
Implement a mesh class for rendering geometry 2025-10-27 19:28:58 +01:00
Kai Blaschke
797a24251f
Don't clear history each time individual items are added or removed.
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.
2025-10-27 19:20:07 +01:00
Kai Blaschke
2da6db297e
Playlist Library: Improve failed preset handling using a loop
Also removing failed presets immediately, which will prevent the same preset from being tried again. Increased default retry count to 500.
2025-10-27 19:20:02 +01:00
Kiley Holbrook
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
Kiley Holbrook
1050d61845 Resolves #912 - Seg fault caused by m_sprites modification during iteration 2025-10-27 19:04:36 +01:00
Mischa Spiegelmock
f76e3e2a4d
Update README.md 2025-10-27 19:03:00 +01:00
Kai Blaschke
6639a8252a
Update CMake build instructions
Signed-off-by: Kai Blaschke <kai.blaschke@kb-dev.net>
2025-10-27 11:22:57 +01:00
Mischa Spiegelmock
f92f9a54b8
Update discord invite link 2025-10-26 15:33:11 -07:00
Kai Blaschke
b3e7e8cdba
Convert HLSL array subscript operator operand to int 2025-09-11 10:56:36 +02:00
Kai Blaschke
d89c09ef5f
Update projectm-eval submodule to v1.0.3 2025-08-04 19:41:55 +02:00
Incubo_
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
Kai Blaschke
0d784d9054
Update links to development releases in README.md 2025-06-10 21:11:58 +02:00
Kai Blaschke
c94063bcb5
Fix Emscripten build check workflow 2025-04-30 08:34:49 +02:00
Kai Blaschke
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
Kai Blaschke
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
Kai Blaschke
0227b7a61d
Issue #872: Fix float overflow in plasma transition shader 2025-02-28 11:37:39 +01:00
Sgorpi
5a31295172 Let the static playlist library depend on the static symbols of the projectM library 2025-02-27 17:16:11 +01:00
Kai Blaschke
fa67d837a5
Add user sprite functions to C API. 2025-02-27 16:57:03 +01:00
Kai Blaschke
631573a4f0
Add user sprite proxy functions to ProjectM class. 2025-02-27 15:55:14 +01:00
Kai Blaschke
9266716ef6
Implement user sprite manager and factory 2025-02-27 15:55:14 +01:00
Kai Blaschke
760a4c9c95
Add Milkdrop user sprites 2025-02-27 15:55:14 +01:00
Kai Blaschke
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
Kai Blaschke
86164bece1
Remove misleading ToDo comments for title and sprite drawing. 2025-02-27 15:55:14 +01:00
Kai Blaschke
5eb037efc1
Make shader resource file generation reusable 2025-02-27 15:55:14 +01:00
Kai Blaschke
fbdb18b355
Move FileParser to main directory.
Makes it easier to reuse for loading sprites.
2025-02-27 15:55:13 +01:00
Kai Blaschke
1ed2967e35
Add transition/blending progress to render context 2025-02-27 15:55:13 +01:00
Kai Blaschke
458a63d8a5
Cache compiled static preset shaders 2025-02-27 15:55:13 +01:00
Kai Blaschke
a2e9a91651
Add a global shader cache 2025-02-27 15:55:07 +01:00
Ian McKellar
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
Kai Blaschke
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