Commit Graph

63 Commits

Author SHA1 Message Date
d379f5bc04 Update README.md 2019-05-17 12:48:59 -04:00
9d0b31a6db Update README.md
Windows link
2019-05-04 21:09:29 +03:00
86ebff7e46 Added VR/Multiple screen support (#201)
* 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.
2019-04-29 01:11:18 +03:00
0ed6a6258e Use real input on Win/SDL (#194)
* Remove FAKE_AUDIO define on Windows

* Update documentation for Windows

* Update readme info for Windows, extract building guide to BUILDING.md
2019-04-16 18:28:24 +03:00
58ece4fbbb projectM Android native build (#191)
* configure script to build libprojectM with NDK

Allows to cross compile libprojectM library using
Android's toolchain for an arm target.
Tested on Ubuntu.

* Android-NDK: Build .so as well as .a

* Adjust CPPFLAGS to make the .so actually usable

* WIP: crashes in trying to link egl

* Add libEGL to linking flags, so that libprojectM.so depends on libEGL.so

* configure-ndk: set install paths

By setting prefix, libdir and datarootdir it's possible to simply do
$ ./autogen.sh
$ ./configure-ndk
$ make -j`nproc` && make install-strip

to build the library, copy it and headers to the right place, and install
all presets as Android assets for inclusion in the apk.

* Let gradle include libc++_shared.so

No need to include this manually, better to let gradle pull in the
version from the NDK toolchain in use.

* Load jniwrapper

Get boring UnsatisfiedLinkError otherwise.

* Extract and use embedded preset assets

Now ProjectM will cycle through all available presets
based on default settings.

* Add precompiled preset assets

* Don't leak existing instance when creating new one

* A few minor Android build changes: use GLESv3 instead, do not try to build SDL under NDK

* Mark GLESv3 as required.

On some rockchip devices I tested on - only v2 is supported.
projectM fails on glGetSampler calls, since those are not implemented.

* Make Activity full screen

* Android:
 - hook up basic audio
 - start on a random preset
 - switch presets on touch

* Android package rename

* Android: do not story a copy of all presets inside android app

After building the android app's dependecies using NDK,
`make install-strip` copies over the prebuilt libraries
as well as all the presets. Since they are stored in this
git repo, no need to store a copy.

I leave a few test presests in the app, in case someone
wants to try building the app without rebuilding the dependencies.
2019-04-11 16:58:30 +02:00
6cb87ee699 readme note about autogen 2019-03-14 20:56:19 +02:00
0378ee77ee AX_HAVE_QT for configuring Qt compilation (#167)
* Testing using AX_HAVE_QT for configuring Qt compilation instead of pkg-config

* cleanup

* get RCC too

* try MOC without CXXFLAGS?

* need qt5-default package

* readme, unfuck pulseaudio compile

* already have ax_have_qt.m4

* fixes to add RCC to ax_have_qt
2019-03-02 21:39:38 +02:00
5598b8377c Makefile: qt / jack / pulseaudio (#163)
Major updates to Makefiles, please report any build time issues!
Adding/updating makefiles for Qt, Jack, and Pulseadio implementations



* detect if we have libpulseaudio, libsdl2, and qt5 and if so just enable them automatically without the user having to.

* jack support, travis build with pa/jack/qt

* pass config opts

* test

* test

* test

* don't always enable sdl

* better libsdl2 detection

* hopefully fixed qt/pulse/jack makefiles

* oops

* travis

* fix jack subdir

* jack fixup

* jack makefile

* libsdl 1 for jack

* jack builds yay (qt version)

* testqt

* readme

* let's always build test

* let's always build test

* sdl2 for travis build test

* qt is required for jack/pulse
2019-02-28 15:17:35 +02:00
414d697f5c xcode cleanup 2019-01-01 13:27:57 +02:00
a9bf984e54 Added backers and sponsors on the README 2018-12-24 09:13:34 -08:00
b345d69a7b Update brew packages needed for Mac OS X build 2018-12-09 14:07:00 +01:00
4d71160c38 readme, comments 2018-09-30 15:37:45 +03:00
1c8afb30c8 bye glew 2018-09-22 11:52:30 +03:00
c43827342f Removing GLEW 2018-09-22 11:39:19 +03:00
3d4fe805ca readme 2018-07-28 13:24:03 +03:00
2513161489 fixing up GL bits and pieces 2018-06-07 10:38:10 +03:00
de10c4427a readme update 2018-04-09 08:34:53 -07:00
fd6839aef6 readme 2018-04-05 21:36:43 -07:00
c6eac9b23a readme update 2018-04-05 21:13:07 -07:00
5792fb33d9 Cross-platform GL include (#41)
* qt autoconf

* WIP: Qt5 makefile

* go away cmake

* testing bsd define

* readme

* replacing __linux__ with __unix__

* sdl/libGLU

* Revert "WIP: Qt5 makefile"

This reverts commit aaa44566b9.

* Revert "qt autoconf"

This reverts commit a82dae3c54.

* Revert "go away cmake"

This reverts commit 1392d5e658.

* fix amflags for m4 dir

* opengl header

* opengl header

* use one header for dealing with cross-platform GL includes

* include opengl header in dist

* fix _WIN32 (maybe?)
2018-03-12 22:20:19 +02:00
c16edd532c maintainer notes 2018-03-12 13:16:08 -07:00
09b21156ea README tidy 2018-03-07 06:08:57 -08:00
4dd4f27cb2 Install presets/fonts/shaders/config (#35)
* install wip

* fix data dir

* test install in travis

* install presets

* fix local install path

* adding header files to SOURCES for dist

* ignore dist pkg

* dist headers, test dist build

* travis test stuff

* include test

* build status

* formatting

* tar fix for long file names from @abramhindle
2018-03-05 14:48:02 +02:00
9b77c8a412 Add link and screenshot to Silverjuke, an FOSS jukebox which is also proudly using projectM (#31) 2018-02-16 16:52:43 +02:00
154d50caf4 Use autotools to build (#27)
* remove c3d/build

* autotools start

* ignore

* autoreconf? idk

* linux/osx gcc/clang

* no glut, need glew tho

* fix test matrix

* fix linux conditional includes?

* sdl makefile am

* SDL2 m4/autoconf

* idk more m4 crap

* ignore more junk

* ug

* go away idk

* renderer makefile

* fixing SDL's broken-ass sdl2.m4 lol

* progress

* cmake go away

* full autotools build working yay

* autogen script, readme update

* fix linux ifdefs

* stuff

* fix linux -ldl

* mac sdl dep for travis

* whoops

* brewwww

* no osx gcc

* no test

* kinda working linux library build

* travis apt packages

* ignore old SDL2 for travis

* typo

* autogen for osx build readme
2018-02-09 14:25:54 -08:00
965f7ca4f4 updates for readmes 2018-02-02 11:30:28 -08:00
a07db7969b using base dir for path to files 2017-09-22 11:55:07 -07:00
d961eb353e removing cruft, updating readme 2017-09-18 15:29:38 -07:00
04001c2b12 ok cleaned up links 2017-07-09 11:44:47 -07:00
57bf1e2256 linking stuff is annoying 2017-07-09 11:43:12 -07:00
ebf5a4b2f6 how 2 link issue? 2017-07-09 11:39:55 -07:00
76101c645c todo readme 2017-07-09 11:39:23 -07:00
3b3745972c formatting 2017-07-09 08:35:32 -07:00
53b10478b0 readme sample usage info 2017-07-09 08:34:30 -07:00
ccb90a5ef6 linux dep 2017-04-01 10:44:14 -07:00
3fe4b47ea3 kodi url 2016-08-02 20:30:49 -07:00
0cf7c70016 absolute image urls for readme 2016-08-02 20:25:25 -07:00
b9ce89deac markdown is hard 2016-08-02 20:17:00 -07:00
c7bae27091 also used by 2016-08-02 20:16:29 -07:00
edbc628131 also used by 2016-08-02 20:15:50 -07:00
bea2854f2c also used by 2016-08-02 20:13:58 -07:00
8cf558858f authors/help/license 2016-08-02 20:05:22 -07:00
63776ae791 raw image urls 2016-08-02 20:03:05 -07:00
deeae6d30c fix image urls 2016-08-02 20:00:28 -07:00
9a2e7c0ef5 fix image urls 2016-08-02 20:00:11 -07:00
2013794362 sprucing up readme 2016-08-02 19:59:22 -07:00
c91e07a293 cleaning up license/authors/copyright 2016-08-02 19:41:04 -07:00
32a67ed76b readme 2016-07-31 22:28:25 -07:00
632549e6e3 need sdl2 for building on linux 2016-07-31 22:28:01 -07:00
cbd6295d72 Mcleaning up library linking 2016-07-31 20:49:23 -07:00