Hi,
I have written an OpenGL-based video renderer as a plugin for the Java Media Framework (JMF) which is working greatm apart for one aspect: When the video scene changes dramatically (i.e. camera pans or sweeps in a movie) the video exhibits serious video tearing (http://en.wikipedia.org/wiki/Page_tearing).
My GL Drawable component is repainted upon each media frame, but obviously I need V-Sync (opengl screen redraws must be synchronised with the video monitor refresh rate).
I don’t know if I’ve been searching ineffectively, but nowhere could I find any information on doing something like this in JOGL. I can understand that such a feature must be dependant on native code, but so is OpenGL (JOGL) in anyway.
Can anybody point me to information on achieving V-Sync in JOGL?
P.S> More information on my renderer: I use a texture-mapped quad, and update the texture data as frames come in (typically 24fps - as packed byte arrays from a JMF processor) and I must commend the JOGL team for the fantastic performance - texture updates are incredibly fast, I render full-resolution DVD on an older (1.8Ghz P4) windows machine using around 10% CPU - most of which is consumed by the codec (XVid / MP4 decoding). This allows us to implement a true cross-platform, java-based media solution, with great performance.
thanks,
Dawid Loubser
lancer@ibi.co.za