OpenGL ES2 pipeline for Windows
935214Aug 31 2012 — edited Sep 4 2012Hello,
what are the plans to make the prism OpenGL render pipeline open source? Any info / timeframe would be great =)
EDIT: Would it be possible to release an optional jar/dll for an OpenGL ES2 pipeline for windows?
My main concern is to extend JavaFX with custom nodes that allow "bleeding edge" effects like for example custom shaders,
particles, screen space ambient occlusion, realistic water rendering, many thousand of grass leaves you can interact with etc.
Our specialization is actually not games, but multitouch presentations with nice special effects on big screens.
We are currently evaluating JavaFX as a rendering solution. It's compositing functions are great. Basically it would be ideal for
our purposes (except some fps issues with 60fps animations). Our current render engine is C++ / Objective-C based (OS X)
and allows stuff like playing up to 8 full HD movies and integrates OS specific stuff like quarz composer, video capturing etc.
I know about the new canvas node, but it doesn't help us, unfortunately.
What we really need is an "OpenGLNode" that allows low level gl access, e.g. execute OpenGL commands in the prism rendering thread,
using shaders, framebuffers, vertexbuffers etc.
If there where an optional OpenGL (ES) based prism pipeline for windows too, you could switch to OpenGL instead of DirectX at startup
and could develop "special effect" nodes cross platform! Some special care needs to be taken to restore render states, program
and texture bindings of course, but this burden could be placed on the developer. Allowing to use low level access could be an
"unsupported" feature, but atm I think JavaFX 2 is too limited in this way. Allowing it would IMO widen the appeal and usability of
JavaFX not only for games, but also applications like Video Capturing, VJ software, scientific visualization, medical imaging etc.
IMO this would give Java and JavaFX a great boost, alone game development is a big factor.
Previous to 2.2 there was a JOGL based ES2Pipeline for OS X that basically allowed this if you overload "impl_getPGNode()".
Will there be a cleaner way to register a rendering controller (NGNode) in the future? Something like a factory pattern?
So, is prism going to be open source at all and when? =)
One solution I thought about is to write a JOGL based implementation of a prism pipeline myself, put it in "com.sun.prism.jogl.JOGLPipeline"
and activate it with PrismSettings.tryOrder = new String[] { "jogl" };
It doesn't seem to be too much code actually.
But would an open source GLPrismPipeline project with a gpl/ce licence be legal?
Thank you for your time,
Dennis
PS: Another idea might be to have a "SharedSurfaceNode" that uses IO Surface for OSX and Shared Surface on Windows for inter
process integration. The new WritableImage is great, but far to slow because of per pixel conversion and down / upload to video memory.
Edited by: Dejay on Sep 2, 2012 9:20 PM