Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add Scene.PMVMatrixSetup for programmable PMVMatrix setup in Scene replacing ↵ | Sven Gothel | 2023-03-19 | 2 | -280/+301 |
| | | | | | | | | | | | | | | | | | | | fixed projection params; Simplify API requirements .. Scene: - Add Scene.PMVMatrixSetup and use it throughout Scene/Shape for reshape(), setupMatrix() and Shape's win<->obj coordinate mappings. - Default Scene.PMVMatrixSetup is no more moving origin to bottom-left, kept at screen-center. - Add waitUntilDisplayer(), allowing to wait until 1st display is completed, ensuring certain states are well set (init, reshape and 1st display on Shapes, plane-box, ..) Shape: - Rename setPosition() -> moveTo() - Add getBounds(GLProfile) to retrieve AABBox before rendering, - Enhance validateImpl(..) to allow this mode @ initial validation (only) | ||||
* | Graph Scene: RegionRenderer is owned and never null | Sven Gothel | 2023-03-19 | 1 | -18/+6 |
| | |||||
* | Graph Shape: Add missing drawGLSelect(..) | Sven Gothel | 2023-03-19 | 1 | -0/+5 |
| | |||||
* | Graph Shape: Mark methods final and enhance API doc | Sven Gothel | 2023-03-19 | 1 | -28/+55 |
| | |||||
* | Graph Scene: Customize clearColor + clearMask used @ display(..), i.e. ↵ | Sven Gothel | 2023-03-19 | 1 | -3/+35 |
| | | | | either use custom setting or avoid it at all for seamless client renderer integration | ||||
* | Graph: Scene: Add experimental pickShapeGL(..), i.e. glSelect (Not working ↵ | Sven Gothel | 2023-03-19 | 1 | -10/+117 |
| | | | | correctly with all renderModes yet, inactive; Not good on text) | ||||
* | Graph: Add RegionRenderer.enable(..) variant w/ passing enable + disable ↵ | Sven Gothel | 2023-03-19 | 1 | -4/+15 |
| | | | | GLCallback | ||||
* | Graph: GLRegion.draw(): Mod curRenderModes by sampleCount { 0 = no-sampling, ↵ | Sven Gothel | 2023-03-19 | 1 | -1/+19 |
| | | | | -1 = glSelect } (Experimental not working fully) | ||||
* | Graph: GLRegion: Pass curRenderModes to updateImpl() + drawImpl(), prepare ↵ | Sven Gothel | 2023-03-19 | 5 | -73/+112 |
| | | | | switch by sampleCount; Don't use any resource not requested by curRenderModes | ||||
* | Graph : Misc API doc | Sven Gothel | 2023-03-19 | 2 | -2/+5 |
| | |||||
* | Graph: Add RenderState API doc; RegionRenderer: Remove unused shell method, ↵ | Sven Gothel | 2023-03-19 | 2 | -6/+8 |
| | | | | left over from f8584748e33aab56780eca5cf7009a5a0d11991d | ||||
* | Fix MovieSimple regression of commit ↵ | Sven Gothel | 2023-03-19 | 4 | -5/+19 |
| | | | | 00dbacc5af3531af50e77a02d534dc11e08de10f, 913b00f8b876e29af91677ef61b3eb35d6853e6e | ||||
* | NEWT MouseEvent.getEventTypeString(): Shorten by removing leading 'EVENT_MOUSE_' | Sven Gothel | 2023-03-19 | 1 | -8/+8 |
| | |||||
* | API doc cleanup, add + refine math tests | Sven Gothel | 2023-03-19 | 22 | -29/+586 |
| | | | | API doc | ||||
* | Graph: Make RenderState a composition of RegionRenderer, which also creates ↵ | Sven Gothel | 2023-03-15 | 24 | -180/+205 |
| | | | | and destroys it. Dropping this also from user (complexity). | ||||
* | ShaderProgram field programLinked: Set to false @ release()/destroy(), On ↵ | Sven Gothel | 2023-03-15 | 1 | -1/+5 |
| | | | | useProgram() only throw exception if 'on==true' is requested (disabling after delettion is OK) | ||||
* | opengl/util/glsl/Shader*: Mark classes and fields final, rename ↵ | Sven Gothel | 2023-03-15 | 4 | -22/+41 |
| | | | | dump{Shader->}Source(), refine string output. | ||||
* | Fix ShaderProgram ownership bug, introduced in commit ↵ | Sven Gothel | 2023-03-15 | 6 | -70/+45 |
| | | | | | | | | | 67a723477ecd818fbc5859fe20ee536a3b4efae5 (reverting and clarifying) All Graph ShaderPrograms used are owned by RegionRenderer, not RenderState nor [GL]Region*, hence [GL]Region* shall only nullify the resources but not destroy the shader currently in use. One RegionRenderer maybe used for multuple Regions. | ||||
* | Demos: Minor cleanups; MovieSimple: Remove unused variables etc .. left over ↵ | Sven Gothel | 2023-03-15 | 4 | -23/+2 |
| | | | | from transition to use TextureSequenceES2 | ||||
* | GraphUI: Scene/Shape: Decouple PMVMatrix operations (picking, obj<->win) by ↵ | Sven Gothel | 2023-03-15 | 7 | -184/+220 |
| | | | | | | | | 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: Complete rename of UISceneDemo01 | Sven Gothel | 2023-03-15 | 1 | -14/+6 |
| | |||||
* | GLMediaPlayer usage: Fix verbose strings, disable verbose in GraphUI demos | Sven Gothel | 2023-03-15 | 4 | -6/+6 |
| | |||||
* | GraphUI: Rename UISceneDemo00 -> UISceneDemo01 | Sven Gothel | 2023-03-15 | 2 | -2/+2 |
| | |||||
* | Graph: Have RegionRenderer.reshapeNotify(..) track x/y as well (vieport); ↵ | Sven Gothel | 2023-03-14 | 8 | -83/+153 |
| | | | | GraphUI.Scene using RegionRenderer's viewport (no duplicate) | ||||
* | GraphUI: Add a most simple Scene demo with one Shape. | Sven Gothel | 2023-03-14 | 2 | -0/+360 |
| | |||||
* | GPUUISceneGLListener0A: Simplify according to Scene class changes ↵ | Sven Gothel | 2023-03-14 | 2 | -129/+76 |
| | | | | (view-based in model-space), have Scene manage resources in full. | ||||
* | GraphUI: Label: Rename pixelSize -> pixelScale, since we are view-based or ↵ | Sven Gothel | 2023-03-14 | 1 | -9/+10 |
| | | | | in model-space. | ||||
* | GraphUI: MediaButton: No need to re-create GLRegion (anymore), just ↵ | Sven Gothel | 2023-03-14 | 1 | -5/+1 |
| | | | | markShapeDirty() to force reupload of texture-coordinates; Also don't mute audio, user shall configure the GLMediaPlayer... | ||||
* | GraphUI: UIShapeDemo01.reshape(): Drop redundant glViewport(..) call | Sven Gothel | 2023-03-14 | 1 | -1/+0 |
| | |||||
* | GraphUI: Button: Allow user to configure 2-pass label z-offset | Sven Gothel | 2023-03-14 | 1 | -2/+10 |
| | |||||
* | GraphUI: GLButton: Don't pass FBO size @ ctor, calculate true view-size @ ↵ | Sven Gothel | 2023-03-14 | 2 | -6/+12 |
| | | | | 1st draw | ||||
* | GraphUI: Scene: Add simplified ctor w/ user defined zNear, zFar and ↵ | Sven Gothel | 2023-03-14 | 2 | -54/+191 |
| | | | | sceneDistance; Expose the scene-plane AABBox and add surfaceToObjSize() to compute surface-size in object coords. | ||||
* | Graph: RegionRenderer: Adopt to TextureSequence API Change: Use ↵ | Sven Gothel | 2023-03-14 | 1 | -9/+8 |
| | | | | setTextureLookupFunctionName(..) before using hash and/or code. | ||||
* | Graph: Region: Add API doc on markStateDirty() and markShapeDirty() | Sven Gothel | 2023-03-14 | 1 | -5/+13 |
| | |||||
* | AABBox: Add API doc comment on reset() and hence default ctor regarding ↵ | Sven Gothel | 2023-03-14 | 1 | -3/+10 |
| | | | | infinite dimension | ||||
* | GLMediaPlayerImpl: Only kick-off StreamWorker at initGL(..) | Sven Gothel | 2023-03-14 | 1 | -5/+0 |
| | |||||
* | GLMediaPlayerImpl: Zero textureFragmentShaderHashCode and default ↵ | Sven Gothel | 2023-03-14 | 1 | -6/+3 |
| | | | | lookupFunction on Uninitialized state | ||||
* | FFMPEGMediaPlayer: More detailed DEBUG messages on audioSink | Sven Gothel | 2023-03-14 | 1 | -3/+3 |
| | |||||
* | make/scripts/setenv.jogl.sh: Add JOAL_LIB_DIR to LD_LIBRARY_PATH (used if ↵ | Sven Gothel | 2023-03-14 | 1 | -2/+3 |
| | | | | not testing using jars but classpath) | ||||
* | build: Disable oculusvr by default, allow manual enable via property ↵ | Sven Gothel | 2023-03-14 | 2 | -1/+9 |
| | | | | 'oculusvr.enabled' | ||||
* | TextureSequence (API Change): Use setTextureLookupFunctionName(..) ↵ | Sven Gothel | 2023-03-14 | 8 | -35/+87 |
| | | | | explicitly to set the name upfront, clarifying workflow. Impl: ImageSequence + GLMediaPlayerImpl | ||||
* | GLRegion + RegionRenderer: Add clearShader(..) to delete all ShaderPrograms ↵ | Sven Gothel | 2023-03-13 | 6 | -12/+59 |
| | | | | and is references. | ||||
* | GraphUI: MediaButton: Adapt GLMediaPlayer changes: Ready right away and ↵ | Sven Gothel | 2023-03-13 | 1 | -9/+12 |
| | | | | reset on Init: GLMediaPlayer.initGL() + recreate GLRegion | ||||
* | GLMediaPlayerImpl: isTextureAvailable() is always true after lastFrame init; ↵ | Sven Gothel | 2023-03-13 | 1 | -2/+6 |
| | | | | Use private isPausedOrPlaying() to determine shaderCodeHash | ||||
* | GraphUI: Cleanup 1-pointer zoom, add generic PinchToZoom-Gesture for ↵ | Sven Gothel | 2023-03-13 | 2 | -48/+88 |
| | | | | 2-pointer zoom; Scene: Align method names.. | ||||
* | GraphUI: Use pre-calc'ing buffer sizes for Label shape | Sven Gothel | 2023-03-13 | 1 | -0/+7 |
| | |||||
* | Graph: Add GLRegion creation w/ pre-calculating its buffer sizes; ↵ | Sven Gothel | 2023-03-13 | 4 | -22/+64 |
| | | | | | | TextRegionUtil: Use pre-calc'ing buffer sizes for GLRegion; TextRendererGLELBase: Fix temp AffineTransform usage | ||||
* | GLMediaPlayer: Overhaul and simplify states, allow usage before stream ready ↵ | Sven Gothel | 2023-03-13 | 23 | -570/+820 |
| | | | | | | | | | | | | | | | 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 | ||||
* | build-test.xml: Add src.demos to determine to skip build or not | Sven Gothel | 2023-03-13 | 1 | -0/+1 |
| | |||||
* | Move png assets (NEWT icons + GLMediaPlayer dummy/test) to simple classpath, ↵ | Sven Gothel | 2023-03-13 | 15 | -20/+40 |
| | | | | allowing access w/o jars. TODO: Test Android. |