Kai Blaschke
436fd5221b
Fix include dirs in SOIL2 library
2024-03-19 23:14:09 +01:00
Kai Blaschke
bc9937f34e
Fix #if USE_GLES to #ifdef in SDL test UI
2024-03-19 23:14:09 +01:00
Kai Blaschke
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
Blaquewithaq
50c0f02b6d
Add pthreads option for emscripten
2024-03-19 23:14:04 +01:00
Mischa Spiegelmock
50c64d4e65
Update README.md
...
Mention rust frontend
2024-03-09 08:27:06 -08:00
Kai Blaschke
b658cccf05
Release version 4.1
v4.1.0
2024-03-02 15:36:02 +01:00
Dane Wagner
03b4c071a2
Properly cast argument types when adding abs to shader functions
2024-02-28 17:03:37 +01:00
Blaquewithaq
59efc54fe5
Fix emscripten options in CMakeLists.txt
2024-02-25 22:28:22 -06:00
Dane Wagner
861c36e41b
Scale and smooth samples for non-custom waveforms
2024-02-21 16:12:31 +01:00
Dane Wagner
07c9a8a660
Re-add native matrix multiplication
2024-02-21 14:36:35 +01:00
Dane Wagner
3aa48a3f99
Modify NaN propagation for multiplication
2024-02-21 14:36:35 +01:00
Dane Wagner
0c27e8164a
Mimic Milkdrop code when handling RGBA values outside [0.0, 1.0]
2024-02-21 14:12:33 +01:00
Dane Wagner
db89e54109
Add mat3x4 and mat4x3 indexing functions
2024-02-21 14:12:12 +01:00
Dane Wagner
04be6f40d0
Fix pow domain on some drivers
2024-02-21 14:11:37 +01:00
Dane Wagner
7d97baffcd
Match math function behavior to DX9 implementation
2024-02-21 14:11:37 +01:00
Kai Blaschke
d6b6446ac9
Make sure easter egg value is >0.
...
Gaussian distribution requires the sigma value to be >0. If the value is too small, we just use the default 1.0 value.
2024-02-15 18:11:46 +01:00
Kai Blaschke
1477664182
Move noise texture creation into MilkdropNoise class.
...
No need to create an instance of the class as all generators are static. Use std::vector instead of C-style pointers as pixel buffer.
2024-02-15 18:11:39 +01:00
Kai Blaschke
c3830926b3
Fix image URLs in README.md
2024-02-13 08:57:44 +01:00
Kai Blaschke
2eb1e41f5f
Pre-allocate vertex buffers for warp/comp meshes and borders
2024-02-12 16:39:18 +01:00
Kai Blaschke
fcafa568cd
Improve performance with vertex buffer updates
...
In wave/shape drawing code, we now preallocate the vertex buffer once for the maximum number of sides and only update the existing buffer instead of reallocating it over and over again. Trades a few KB of additional RAM for a good amount of drawing performance.
In the motion vector grid code, we only reallocate the buffer if we draw more vertices than in the previous draw call.
Also changed the drawing hint to GL_STREAM_DRAW, which is slightly better suited for this kind of usage (update once, draw once, repeat).
These changes should hopefully improve performance, especially when large numbers of custom shapes are drawn.
2024-02-12 15:14:16 +01:00
luzpaz
f22cc42a61
Added requested revision
2024-02-11 22:40:11 +01:00
luzpaz
0067e82f7e
Fix various typos
...
Found via `codespell -q 3 -S "./vendor" -L ist`
2024-02-11 22:40:11 +01:00
Dane Wagner
d82c031671
Use PRJM_EVAL_F in ShapePerFrameContext
2024-02-09 20:30:42 -06:00
Dane Wagner
8897b9fe39
Only parse headers with doxygen
2024-02-09 19:15:38 -06:00
Dane Wagner
39c6bc98da
Tell sphinx about our export identifiers so it can parse function signatures
2024-02-09 16:55:16 -06:00
Dane Wagner
82f2b58205
Use exhale to better organize the C++ documentation
2024-02-09 16:37:09 -06:00
Dane Wagner
79973a1e07
Initial import of sphinx project
2024-02-09 16:37:09 -06:00
Kai Blaschke
12db8d9b94
Fix buffer overrun in WaveformMath
...
32 excess samples were read from the preset state in waveform modes. Didn't have any noticeable impact, but we should clearly not read over the end of an array.
2024-02-09 21:37:58 +01:00
Dane Wagner
5c0d61cff7
Use renderContext for preset state time, frame, fps, progress
2024-02-06 16:41:31 -06:00
Kai Blaschke
bd7d5574a2
Keep active preset running if loading fails.
...
Also don't cancel any transition in progress etc., so if the app retries with a different preset, we only smoothly transition to the new, working one.
2024-02-06 15:11:52 +01:00
Kai Blaschke
4eefc2c05c
Remember last playlist navigation direction in case a preset fails to load.
...
The playlist wrapper will now continue to repeat the directional navigation command issued in the original API call.
2024-02-06 15:11:37 +01:00
Dane Wagner
c5ecad05db
Format cleanup
2024-02-06 07:58:32 -06:00
Dane Wagner
0ea5bba3d7
WaveformAligner test fixes
2024-02-06 07:58:32 -06:00
Dane Wagner
a57885dc3a
Add WaveformAligner test
2024-02-06 07:58:32 -06:00
Dane Wagner
305f78f177
Split WaveformAligner up into multiple testable methods
2024-02-06 07:58:32 -06:00
Dane Wagner
bd592bdb2e
Rename WaveformAligner variables to be clearer, add comments
2024-02-06 07:58:32 -06:00
Dane Wagner
7c425f7469
WaveformAligner type refactor
2024-02-06 07:58:32 -06:00
Blaquewithaq
0beb7a2d09
Relocated dll's to PROJECTM_BIN_DIR on Windows
2024-02-02 10:21:25 -06:00
Kai Blaschke
60e5607877
Fixed a bug in TextureManager, failed to load textures if prefixes (fw_...) were used.
2024-02-02 15:08:05 +01:00
Kai Blaschke
a1d300f48c
Include cleanup, plus a few small code improvements.
...
Also removed empty FrameAudioData implementation file.
2024-02-02 15:08:05 +01:00
Kai Blaschke
27f3308ac3
Remove utterly useless multithreading switch
...
Since we're using OpenGL, everything has to be done in the same thread anyways. Besides that, the actual "multithreading" implementation was basically starting an empty thread that did absolutely nothing, then wait synchronously for it to complete and join it on the next frame.
2024-02-02 15:08:04 +01:00
Kai Blaschke
184766b2c8
pkgconfig fixes
2024-02-02 15:08:04 +01:00
Kai Blaschke
e018854619
Silence OpenGL deprecation warnings on macOS.
...
Nothing we can do about that in the short term. We might support Metal (eventually via MetalVK) in a future version.
2024-02-02 15:08:04 +01:00
Kai Blaschke
df48f1bb07
Remove RandomNumberGenerators.hpp and replace the only invocation with std::normal_distribution
2024-02-02 15:08:04 +01:00
Kai Blaschke
0789c54404
Remove unnecessary feature detections, move filesystem defines to config.h.
2024-02-02 15:08:04 +01:00
Kai Blaschke
c2f2e7a0d3
Deleted useless .gitignore file.
...
Most files ignored were no longer in the repository, and the rest is already covered by the top-level .gitignore file.
2024-02-02 15:08:04 +01:00
Kai Blaschke
170f054860
Remove no longer used LLVM support code.
2024-02-02 15:08:04 +01:00
Kai Blaschke
1513675c31
Remove no longer used omptl and OpenMP support.
...
Fixup: remove omtpl
2024-02-02 15:08:04 +01:00
Blaquewithaq
72cd63d507
Updated actions across all workflows
2024-02-01 20:43:45 -06:00
Dane Wagner
7e45cbe1f9
Clean up minor warnings and code style
...
* Remove warnings for code in vendor folders
* Add pedantic and extra warnings in GCC only to projectM sources
* Rename ResetOpenGL to SetWindowSize
2024-02-01 11:27:10 -06:00