-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Programmable pipeline incompatible with Syphon #25
Comments
This is a known issue, currently processing supports only OpenGL 1.2 / 2.x contexts. @bangnoise and I are sorting out solutions / Core Profile inclusion at some point in the future. What is the timeline for Processing to work with a Core Profile context by default? Is this new for Processing 3.0 ? Somehow most Syphon apps are still leveraging 1.2 / 2.x contexts, so we haven't had the proverbial gun to our head to update. Thanks, and sorry about that! You can check out: Syphon/Syphon-Framework#13 and update there too with any new info. |
Not sure if Core Profile context is used in the latest betas, but we switched to a programmable-pipeline already in beta 4, specifically GL2ES2, see processing/processing#3505. This is the main reason why Syphon is not working in betas 4 and 5. In fact, you can choose what profile to use by doing: void settings() {
size(1280, 800, P2D);
PGJOL.profile = 3;
} So, I added back profile 1 (which means OpenGL 1.2 / 2.x context), and with that Syphon works again. |
Interesting. Ok, that sort of lights a proverbial fire :) Any idea when The release is scheduled, roughly? Thanks again for all your hard work on Processing / Java and Syphon, its very appreciated! |
Beta 5 is already the last stable Processing release available for download so anyone getting that version won't be able to use Syphon. You could potentially use profile = 1 in beta 6, while Syphon updates to Core Profile. Once that happens, all you would need to do from Processing is to switch to a higher profile. |
There are a couple of third-party core profile Syphon implementations - if When we support Core Profile we won't drop legacy support, so eventually
|
cool, I will look at the options and decide what to do. This one: https://github.com/eromanc/Syphon-Framework seems the most recent fork. Any other one you recommend? However, I feel it would be easier to add support for profile = 1, and keep using the original Syphon. |
Added profile = 1 to all examples, this solves the issue. Once Syphon adds support to Core Profile, switch from the library should only involve changing the profile value to 2 or higher. |
The problem is that sendScreen() is not working, as reported here. This issue was about the incompatibility with the programmable pipeline, which is addressed by using profile = 1. |
ok, oops sorry. I post here because I see the new line about the profile = 1. |
I realize this issue is old & closed, but I have a question: if I'm understanding this correctly, does this mean we can't use shaders and Syphon in the same Processing sketch? Switching to profile = 1 seems to break my GLSL code. |
Can you file a separate issue that actually details behaviour you expect and behavior you see along with details or your setup, versions, install, etc? |
Thanks @vade. I figured out the problem: switching profiles meant that the GLSL code was compiled with a different version (version 110). I had I'm happy to file another issue if you think it's necessary, although it's not really a problem with this project. It might be helpful to include a note about GLSL versions in the readme, though. To someone unfamiliar with OpenGL and Processing internals, the |
@vade, @bangnoise: If Processing initializes the GL context using a programmable pipeline (GL2ES2, GL2GL3, or getGL4ES3), then frames sent from a server in Processing are rendered as black (tested with simple client and MadMapper 2.0.1). Also running both the server and client from Processing, with a programmable pipeline, results in no image displayed by the client.
Is this a bug in Processing or Syphon?
The text was updated successfully, but these errors were encountered: