* Set build target to 10 (generic) instead the specific build the original author used.
* Move help menu down a line and indent to align with preset title and FPS.
* More accurate FPS:
- by resetting timers whenever F5 is pushed.
- by performing math based on percise seconds that passed, rather than assuming it will trigger exactly 250 milliseconds.
* Set idle preset name so it's displayed with F3.
* presets: remove problematic community presets
* Breaks a lot of things including test apps and kodi addon.
Link is provided in README.md for those who want it
Signed-off-by: Matt Filetto <matt.filetto@gmail.com>
* fix for freeze (issue 243) (#276)
* There was a bug that existed in open GL ES 2.0 implementations
where glTexImage2D could not convert GL_RGB formed textures into GL_RGBA
while generating the noise textures. The GL error
was GL_INVALID_OPERATION(0x502)
This probably made the noise textures blank.
So a new class was added that has the alpha channel for the values.
* Added a fudge for render farming milkdrop where we control the time and the ticks.
* User defined time: Got rid of testing code
* Attempt to fix WIN32 compile - it doesnt use or need the ability to control the time
* Got rid of debug - got rid of minor warning
* projectM.hpp - type in ifdef
projectM_SDL_main.cpp - there is code added to make the initial random number dependent on the time of day, making
the sequence of visualizers more unexpected. But the posix command time does not exist in Win32 land, so we disable it.
* add glm lib in vendor folder
* fix makefile
* add more help and context to emscripten readme
* add correct output parameter to emcc
* add how to restart the process to the readme
* simplify emscripten compilation
* apply patch
* fix blur shaders to work with WebGL
* Supports Multiple pass2 renderings.
My application (Silent Radiance) added projectM visualizers, but I needed support for VR.
So I added Renderer::RenderFrameOnlyPass1 and Renderer::RenderFrameOnlyPass2
This allows an offset in the screen output so the same image can be rendered twice very quickly.
I could have rendered to a buffer externally.
This is fed into the Raylib VR in my application to add the fisheye effect.
* Added an example of the VR
* Added multiple screen renderings for VR
Added a new way of rendering that allows multiple pass2's to be done: one per screen.
This allows for a second screen output, and VR. In fact I am using this for VR where I need a left and right eye on the same screen.
In order to do this, I sometimes have to set the viewport not starting at the upper left of the screen.
Added renderFrameOnlyPass2 - and an optional pipeline can be passed - this would be a pipeline when there is a transition from one visual to another. This can be called once per eye.
Finally, renderFrameEndOnSeparatePasses cleans up, does the fps control, statistics, etc.
This alternate rendering is as possible:
Pipeline pipeline;
Pipeline *comboPipeline;
comboPipeline = renderFrameOnlyPass1(&pipeline);
for each eye:
renderFrameOnlyPass2(comboPipeline,xoffset,yoffset,eye);
Then
renderFrameEndOnSeparatePasses(comboPipeline);
for the accounting and releasing the mutex
* Removed the duplication of code for VR.
* Removed the duplication of code for VR.
Also remove calls of setlocale(LC_NUMERIC, "C"); in library,
which results in unexpected sideeffects in the rest of the process
where the library is used.
Same for the applications which also had this work-around added.
Work-arounds using setlocale had been added in
90aa2c8f38 & 196c374a74
revive projectM-test directory
new executable src/projectM-test/projectM-unittest
still need to update existing code SDL->SDL2
Add projectM-unittest to Travic CI
* Param refactor
collected all the code that reached inside Param (InitCond, Per*Eqn, Expr, Parser) to read/write and stuffed it all back into Param.cpp
made Param extend Expr to avoid any perf penalty (I actually think eval() is a tiny bit faster now)
* presets/tests
* ALWAYS_MATRIX is used with PER_POINT
* use SSE2 to impove initialize_PerPixelMeshes() performance
* TestRunner
very, very simple test framework, but it's better than no framework
(consider investigating adopting something)
* ProgramExpr