| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
setPlanBox(..)'s gluUnProject(..)
|
|
|
|
| |
launcher to our new UISceneDemo naming series
|
| |
|
|
|
|
| |
showing current surfaceSize
|
|
|
|
| |
GLAutoDrawable.invoke(..) API doc: Add semantics about GLRunnable return value.
|
|
|
|
|
|
|
| |
its default. GraphUI: Always use default.
Graph RegionRenderer, its RenderState as well as GraphUI's Scene don't need to have knowledge of Vertex.Factory,
which is only used within OutlineShape and its 'inner geom workings'.
|
|
|
|
| |
destroyImpl()
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Contrary to UISceneDemo0[01], here we
- Call the Scene GLEventListener methods manually
- Issue glClear* ourselves
- Using own PMVMatrixSetup
- gluPerspective like Scene's default
- no normal scale to 1, keep distance to near plane for rotation effects. We scale Shapes
- translate origin to bottom-left
- Scale Button not by screen-size but Scene.getBounds() dimension,
hence issue setupUI() from reshape() and not from init()
- GLButton: Using additional view-rotation like UISceneDemo01
- Multi-line text labels resize issues are
- Supposed sticky-edge is moving
(Sticky-edge are the opposites of the picked drag point)
|
|
|
|
| |
toggled off
|
| |
|
|
|
|
| |
an own Scene.PMVMatrixSetup with a plane dimension of 100
|
|
|
|
| |
normalized plane dimensions, 1 for the greater of width and height
|
| |
|
| |
|
|
|
|
| |
UISceneDemo01 simply provides shape drag-move and -resize
|
|
|
|
| |
or null on error instead of boolean to easy API usage
|
|
|
|
| |
stop animator
|
|
|
|
| |
showing simple linear Shape movement w/ listener attached
|
|
|
|
| |
clean)
|
| |
|
|
|
|
| |
00dbacc5af3531af50e77a02d534dc11e08de10f, 913b00f8b876e29af91677ef61b3eb35d6853e6e
|
|
|
|
| |
and destroys it. Dropping this also from user (complexity).
|
|
|
|
| |
from transition to use TextureSequenceES2
|
|
|
|
|
|
|
|
| |
using a local instance, enable performing on any thread (not using a blocking GL renderer thread)
Shape got 2 win<->obj and size-retrieval variants:
(a) using given PMVMatrix and viewport
(b) using a local PMVMatrix w/ Scene's viewport and using Scene's setupMatrix()
|
| |
|
| |
|
| |
|
|
|
|
| |
GraphUI.Scene using RegionRenderer's viewport (no duplicate)
|
| |
|
|
|
|
| |
(view-based in model-space), have Scene manage resources in full.
|
| |
|
|
|
|
| |
1st draw
|
|
|
|
| |
explicitly to set the name upfront, clarifying workflow. Impl: ImageSequence + GLMediaPlayerImpl
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
showing test-texture. Adding stop(); (API Change)
- allow multiple initGL(..) @ uninitialized and initialized
- allows usage before stream is ready
- using a test-texture @ uninitialized
- adding stop()
API change
- initStream() -> playStream()
- play() -> resume()
FFMPEG: Added 'ready' check for robustness
|
| |
|
| |
|
|
|
|
| |
for easy deployment and test w/ junit/ant
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
used for getElemCount() instead of 0==position, ... (API change)
API Change
- sealed() moved up from GLArrayDataEditable -> GLArrayData
- GLArrayDataWrapper is sealed by default
- getSizeInBytes() -> getByteCount()
- Semantics of getElemCount() and getByteCount()
- Correctly use sealed() to switch from position to limit - instead of 0==position
Aligned method names:
- getElemCount()
- elemPosition()
- remainingElems()
- getElemCapacity()
to corresponding byte counts:
- getByteCount()
- bytePosition()
- remainingBytes()
- getByteCapacity()
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
finalize immutables, add growthFactor (default golden ratio 1.618), add getCapacity*() and printStats(..)
The growthFactor becomes essential for better growth behavior and can be set via setGrowthFactor().
The other changes were merely to clean up the GLArrayData interface and its 4 implementations.
Not great to change its API, but one name was misleading ['getComponentCount' -> 'getCompsPerEleme'],
so overall .. readability is enhanced.
Motivation for this change was the performance analysis and improvement of our Graph Curve Renderer.
|
|
|
|
| |
launch script test-demo-launcher0.sh: Tested with '-Xcheck:jni'
|
|
|
|
| |
'-demo classname'
|
|
|
|
| |
rules (launch script w/ key tracker)
|
|
|
|
| |
must be enabled via -pointerIcon
|
|
|
|
|
|
|
|
|
|
|
|
| |
Misc:
- Remove unused SysExit..
- showFPS=true default
- allow setting 'useDoubleBuffer' via '-single'
- demos.es2.GearsES2: Don't be verbose on display even w/o animator
IF '-noanim', issue glWindow.display() from main thread
instead of using the animator thread otherwise.
This shall test the swap buffering code in single threaded mode!
|
|
|
|
| |
The launcher script also allows inflating classes and native libs to test impact on Raspberry Pi 3 Model B+.
|
|
|
|
|
|
|
| |
and remove the redColor default background (debug only).
IOSUtil.CreateUIWindow(..) also gets its 'visible' attribute,
to be true only for demo Hello1 code - false for intended Proxy Surface Hook.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Note: Two subsequent commit will add some required change in the
native UIWindow/UIView creation methods to actually make the NEWT view being displayed ;-)
The demo 'com.jogamp.opengl.demos.ios.Hello' demonstrated a standard NEWT application
running on iOS.
Previous NativeWindow wrap-around demo is preserved in 'com.jogamp.opengl.demos.ios.Hello1'.
Tested on ipad 11'inch arm64 and x86_64 simulation:
- Using GearsES2 demo
- PixelScale 1f, 2f and 0f - last two using max pixel scale
- Touch w/ GearsES2 works:
-- 1 finger rotate
-- 2 finger drag
-- 2 finger pinch-zoom gesture detection
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Initial commit bba73bc096250a3c7fc036d84b1ea054d1b70b06 hacked
its path using a context global EGLLayer instance attachement.
The hack was good for the first demo, however, it forbid using
other FBObjects etc on the way.
Properly specifying FBObject.Attachment.StorageDefinition,
allowing the user to inject code for selected FBO attachements
to define their storage. This might be useful for different
platforms as well - however, it is OS agnostic and instance specific now.
In this sense, GLFBODrawableImpl, hosting FBObject,
has a more specific instance of FBObject.Attachment.StorageDefinition
for color-renderbuffer. It is passed along newly created color renderbuffer.
GLDrawableFactoryImpl.createGLDrawable uses a derived interface,
OnscreenFBOColorbufferStorageDefinition which is defined in
IOSEAGLDrawableFactory and return by its getter.
GLDrawableFactoryImpl.createGLDrawable is therefor platform agnostic again.
Bottom line is, as more platforms will be added, these semi-public interfaces
have to adapt to suit them all ..
All this due to iOS architecture for 'onscreen rendering' using a FBO
which shares its color renderbuffer storage with the EAGLLayer,
associated with the UIView. A bit weird maybe in first sight,
but efficient for creating cheap hardware design ;-)
Only criticism here is that Apple didn't bother using EGL and an extension.
|
|
using our OpenJFK 9 x86_64 and arm64 build.
Test demo class is 'com.jogamp.opengl.demos.ios.Hello',
residing in the new demo folder 'src/demos/com/jogamp/opengl/demos/ios/Hello.java'.
This commit does not yet include a working NEWT
specialization for iOS, but it shall followup soon.
Instead this commit demonstrates JOGL operating on
native UIWindow, UIView and CAEAGLLayer as provided by
Nativewindow's IOSUtil.
Test Video https://www.youtube.com/watch?v=Z4lUQNFTGMI
+++
Notable bug: The FBO used and sharing the COLORBUFFER RENDERBUFFER
memory resources with CAEAGLLayer to be displayed in the UIView
seemingly cannot handle GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24
or GL_DEPTH_COMPONENT32 depth buffer - none at all (Device + Simulation).
Therefor the default demo GLEventListener chosen here
don't require a depth buffer ;-)
This issue can hopefully be mitigated with other means
than using a flat FBO sink similar to FBO multisampling.
|