e136655571
fix: ensure all Init() calls invoke base class methods for proper init
2025-04-17 13:49:52 -07:00
5cdddf9aef
refactor: unhide base Init() in derived classes to fix virtual warning
2025-04-17 13:49:10 -07:00
dd58ff4228
refactor: add override specifiers to virtual functions for clarity and safety
2025-04-17 13:42:11 -07:00
2f80198805
fix: add missing include for OpenGLPresetTransition in ProjectM.cpp
2025-04-17 13:41:35 -07:00
542bfab26c
fix: use global namespace for RenderItem base class in OpenGLRenderItem.hpp
2025-04-17 13:41:13 -07:00
c72e4014cc
fix: change include to local path in OpenGLRenderItem.hpp for correct header resolution
2025-04-17 13:40:46 -07:00
8876cd5488
fix: update method declarations to match base class and resolve errors
2025-04-17 13:36:04 -07:00
6357e91e3d
fix: remove 'override' from destructor and methods in OpenGLRenderItem.hpp
2025-04-17 09:42:31 -07:00
b18a5aab07
refactor: update destructor override and return type for Texture()
2025-04-17 09:42:11 -07:00
da05e7ef42
fix: change include to relative path in OpenGLCopyTexture.hpp
2025-04-17 09:41:33 -07:00
219cfe2c31
fix: add missing include for OpenGLCopyTexture in MilkdropPreset.cpp
2025-04-17 09:40:57 -07:00
1480cab5da
fix: Resolve OpenGL initialization and header inclusion issues
2025-04-17 09:37:44 -07:00
915ea973b4
fix: resolve compilation errors in MilkdropPreset and UserSprites
2025-04-17 09:36:48 -07:00
18273e5354
fix: resolve OpenGL renderer initialization and texture creation errors
2025-04-17 09:35:56 -07:00
050966a221
The changes update the inheritance of several classes (PerPixelMesh, VideoEcho, and Waveform) to use OpenGLRenderItem instead of RenderItem, and include the correct header file. This fixes the build errors by:
...
1. Changing the base class to `OpenGLRenderItem` which contains the required `m_vaoID` and `m_vboID` members
2. Updating the includes to point to the new header location
3. Removing redundant `RenderItem::` prefixes since we inherit directly from `OpenGLRenderItem`
4. Cleaning up some formatting inconsistencies
The changes maintain all existing functionality while fixing the compilation errors related to missing OpenGL buffer IDs. The classes will now properly inherit the OpenGL-specific rendering functionality they require.
2025-04-17 09:34:53 -07:00
ee3873af76
refactor: use flip texture for preset output instead of framebuffer
2025-04-17 09:28:51 -07:00
5cdfc8f017
fix: Update render items to use OpenGL backend implementation
2025-04-17 09:27:09 -07:00
bc6533a204
fix: resolve namespace and include issues in OpenGL render items
2025-04-17 09:23:35 -07:00
f075c52614
fix: update OpenGL backend references in CustomShape
2025-04-17 09:22:21 -07:00
fb1454b60d
refactor: add optional Init method to RenderItem base class
2025-04-17 09:21:47 -07:00
ef04f5b4f0
fix: update CustomShape to use OpenGL backend implementation
2025-04-17 09:20:57 -07:00
9db68e5d3c
chore: update gitignore and vendor submodule status
2025-04-17 09:15:46 -07:00
4a25a0b538
refactor: move OpenGL transition rendering to backend implementation
2025-04-17 09:15:09 -07:00
e3192d0f7c
refactor: move PresetTransition OpenGL code to backend
2025-04-17 09:14:12 -07:00
66474844b3
refactor: comment out OpenGL-specific code in PresetTransition
2025-04-17 09:12:38 -07:00
4fb83d45f1
fix: remove default parameter from CopyTexture::Draw targetTexture
2025-04-17 09:12:09 -07:00
4049231ec4
refactor: move OpenGL renderer code to backend directory
2025-04-17 09:11:00 -07:00
f3d6cca5ae
doc
2025-04-04 21:50:59 -07: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