| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
one holding the surfaceLock acquiring ctxLock where ctx acquires the surfaceLock
|
|
|
|
| |
cbc77718f01a8190e1a8aa0e9afdc2a3a3403358)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ProjectFloat Matrix Multiplication of gluUnProject(..) impl.
ProjectFloat's previous gluMultMatricesf(..) used row-major order,
but the replacement multMatrixf(..) uses column-major order (like OpenGL, ..).
Note: The replaced 'gluMultMatrixVecf' by multMatrixVecf() already
used column-major order.
Fix: Reverse the arguments of matrix multiplication
m1 x m2 -> m2 x m1
Added proper API documentation in FloatUtil -> Column Major Order of Linear Matrix Layout
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
window order on main-thread.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Based on Andres Colubri's initiative and commit 218d67fc0222d7709b21c45792d44501351939c4.
- Reading real screen refresh rate ('stolen' from NEWT)
- Properly handling swap-interval and vsync-to in native code
- Increasing accuracy vsync-to to microseconds
Tested manually w/ TestGearsES2AWT.
|
|
|
|
| |
and custom lib path; MovieCube: '-wait' to wait for debugger.
|
|
|
|
| |
devices. Our ARMhf build is high profile.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Java classes already slipped through in
commit 10935e1ec0d8ed677bc3fddfaa8cd73898a3bcbf - oops.
Since we cannot provide a Libav binary (even though Google does in Android and Chrome)
due to legal uncertainities .. we dynamically link to an existing Libav / FFmpeg library
in a 'relaxed' manner. Ie. we allow certain recent functions to be absent to be able
to run on a wider range of Libav versions.
Currently tested on Debian Linux and Windows7 64bit/32bit
Binaries for Win/OSX:
- Windows http://ffmpeg.zeranoe.com/builds/
- OSX http://www.ffmpegx.com/
Features:
- Dynamic relaxed linking to Libav (see above)
- YUV420P texture lookup function shader stub (conversion to RGB)
- 1-copy only (decoder buffer to texture)
- simple
- uses libavformat's network streaming
- fixes some odd PTS values
TODO:
- Audio output (Should use OpenAL, duh)
- Seek works poorly
- Offthread multi-texture fetching for smoother animation
- Maybe more pixelformat conversions
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
General enhancments.
For details about TextureSequence/GLMediaPlayer shader collaboration w/ your own shader source,
see TextureSequence and TexCubeES2 / MovieSimple demo.
TextureSequence allows implementations to provide their own texture lookup function
which may provide color space conversion (YUV) .. or other runtime hw-accel features.
Have a look at the next commit, which provides an Libav/FFMpeg implementation w/ YUV/RGB shader conversion.
MovieCube adds keyboard control (Android: firm touch on display to launch keyboard, don't break it though :)
|
|
|
|
|
|
|
|
|
|
|
| |
GLMediaPlayer impl. to be compiled (LGPL terms)
Libav header:
libavutil 51.22.1
libavformat 53.21.0
libavcodec 53.35.0
.. just to ease our compile time setup.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Texture
- Add TextureSequence, base interface of GLMediaPlayer to genralize texture streams
- TextureSequence / GLMediaPlayer: Use inner classes for event and texture data
- getLastTexture() shall never return 'null', initialization of TextureSequence (initGLStream(..), etc)
shall provide a TextureFrame w/ the stream's dimension.
- GLMediaPlayerImpl.createTexImageImpl() y-flip defaults to 'false'
impl. shall define y-flip, if required.
- Added MovieCube demo
- Fix Texture: initialize aspectRation for 'wrapping' ctor
-
|
|
|
|
|
|
|
|
| |
- Partially reverting commit de2b129a56335262a44a05541a3ab2e35668cc6e
- ProjectFloat and FloatUtil must reside in core, not util
- Moved slice2float -> GlueGen's Buffers
|
| |
|
|
|
|
|
|
|
|
|
|
| |
functions: eglCreateImageKHR, eglCreatePbufferFromClientBuffer
Unique typedef for: EGLConfig, EGLContext, EGLDisplay, EGLSurface,
EGLNativeDisplayType, EGLNativeWindowType, EGLNativePixmapType,
EGLImageKHR, GLeglImageOES and EGLSyncKHR
allowing to render them individually opaque (long) and keep EGLClientBuffer as NIO buffer.
|
|
|
|
| |
incl. unit tests; Test/Demos: Use PNG snapshots.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PNGJ Version 0.85 (1 April 2012)
Apache 2.0 License
http://code.google.com/p/pngj/
Merged code:
- Changed namespace ar.com.hjg.pngj -> jogamp.opengl.util.pngj
to avoid collision when using a different version of PNGJ.
- Removed test and lossy packages and helper classes
to reduce footprint.
License information is added in main LICENSE.txt file.
|
| |
|
|
|
|
| |
Move texture to jogl jar/apk for accessibility.
|
|
|
|
|
| |
- Factory falls back to NullGLMediaPlayer allowing to test on platforms where no player is available.
- MovieSimple (c) to JogAmp since it is no more derived from the old project.
|
| |
|
|
|
|
|
|
|
|
| |
00: One movie view, centered, no effects
01: Two movie views (Main + HUD) using same GLMediaPlayer [texture] and stream
02: Two movie views (Main + HUD) each using own GLMediaPlayer and stream
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Activity adds 2 NEWT GLWindow's in a ViewGroup,
one main view and one small HUD view.
Both GLWindow contain one GLEventListener playing the same stream using GLMediaPlayer
one with no effect, one w/ a gradient color effect.
The stream's URL is currently hardcoded 'file:///mnt/sdcard/Movies/BigBuckBunny_320x180.mp4'.
Upper half of main window:
- click start/pause video
- drag rotate video
Lower half of main window:
- drag bwd/fwd in the stream (seek)
|
|
|
|
| |
the Android API JAR for android specifics.
|
|
|
|
| |
ProjectFloat
|
|
|
|
|
|
|
|
| |
Android API 14 MediaPlayer impl of GLMediaPlayer.
Android API 14 MediaPlayer allows usage of OMX AL direct decode to texture via libstagefright (OMX AL usage included).
Status: Untested, not working - Need to fix native OMX IL (stream detect and split) and/or GStreamer implementation.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
return values', glGetPointerv, ..
The PrimitiveArrayCritical JNI code takes care of copy back the primitive array data
if pinpoint is not available.
|
|
|
|
|
|
|
|
|
| |
Reusing the native EGLConfig handle of another EGLDisplay is invalid,
hence the EGLCapabilities cfg-handle value shall be 'refreshed'
using the immutable cfg-id and the new EGLDisplay.
Also fix EGLError value in createSurface() exception
and don't override EGLCapabilities transparency value for a given EGLConfig ID.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Threading*:
- add invoke(..) generalizing the Therading decision
GLCanvas:
- remove 'manual' Threading decision, simply call Threading.invoke(..)
- use anonymous Runnable instances
- remove drawable lock, drawable is volatile instead
GLJPanel:
- remove 'manual' Threading decision, simply call Threading.invoke(..)
- use anonymous Runnable instances
- DEBUG: Use getThreadName() prefix
GLContextImpl:
- Remove GLWorkerThread idle command on makeCurrent(),
no holding of context in worker thread while idle.
- DEBUG: Use getThreadName() prefix
X11GLXContext:
- DEBUG: Use getThreadName() prefix
TODO: Validate whether it's OK for GLCanvas and GLJPanel to set Threading.Mode.MT as the default mode!
|
|
|
|
|
|
|
| |
required. Added comment reasoning NIODirectOnly.
Impacts code generation for the relaxed methods where NIODirectOnly tag is removed,
i.e. it allows an array-backed Buffer object to be passed.
|
|
|
|
|
| |
Modified Daniel Balog's unit tests, covering GLWindow (NEWT), GLCanvas (AWT) and GLPBuffer
to fail immediatly when more than 1 open X11 Display is open.
|
|
|
|
|
|
|
|
| |
0cfc7847c58b51c9a26b50d905b592d1fc4c8578)
- Remove jogl.android-launcher.apk in favor of generic jogamp.android-launcher.apk
- All Android test code resides in jogl.test.apk (initial launcher and delegated 'real' one)
|
|\ |
|
| | |
|