summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* GraphUI Scene: Add optional frustum culling (default: disabled)Sven Gothel2023-03-221-13/+23
|
* GraphUI Shape.setTransform(): Remove 'wiggling' w/ origin, text issue came ↵Sven Gothel2023-03-211-12/+4
| | | | | | from Scene.PMVMatrixSetup bug, all shapes resize fine now. Scene.PMVMatrixSetup bug missed modelview initialition before gluUnProject(), fixed in commit 74e11bd9a49f61e49d3c73c4f9b87b4fb7fbaaf3.
* GraphUI: Fix Scene.PMVMatrixSetup impl: Setup modelview before using ↵Sven Gothel2023-03-213-6/+12
| | | | setPlanBox(..)'s gluUnProject(..)
* GraphUI Scene: Move reshape() below init from in-between display() implsSven Gothel2023-03-211-19/+19
|
* GraphUI UISceneDemo20: Consolidate the actual implementation and main ↵Sven Gothel2023-03-215-234/+204
| | | | launcher to our new UISceneDemo naming series
* GraphUI UISceneDemo*: Stop animation loop if window got destroyedSven Gothel2023-03-212-4/+4
|
* NEWTEvent*.getEventTypeString(): Like MouseEvent, drop redundant leading ↵Sven Gothel2023-03-213-11/+11
| | | | type in returned string
* GraphUI UISceneDemo*: Add windowResized() callback to update window title ↵Sven Gothel2023-03-213-5/+12
| | | | showing current surfaceSize
* Eclipse: Remove the CDT C/C++ Nature, since it breaks the Java type ↵Sven Gothel2023-03-211-65/+0
| | | | hierarchy lookup besides other things
* GraphUI UISceneDemo*: Use lambdas for GLAutoDrawable.invoke(..) to reduce LOCSven Gothel2023-03-213-12/+13
| | | | GLAutoDrawable.invoke(..) API doc: Add semantics about GLRunnable return value.
* Graph: Cleanup Vertex.Factory referencing: Only bind to OutlineShape and use ↵Sven Gothel2023-03-2134-225/+142
| | | | | | | 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'.
* GraphUI Shape/Label: Allow validate(..) w/o current GL context, used by e.g. ↵Sven Gothel2023-03-202-13/+76
| | | | | | Label.setText(..) and getBounds(), preparations for more animation. Hence Shape.validate(..) is now synchronized, avoiding parallel resource modding from render- and other animating thread.
* GraphUI Shape: Provide empty default implementation for clearImpl() and ↵Sven Gothel2023-03-2010-74/+4
| | | | destroyImpl()
* GraphUI Scene: Add getDefaultVertexFactory(), fix getRenderState() API doc ↵Sven Gothel2023-03-201-2/+6
| | | | (can't be null)
* GLArrayDataClient: Allow null buffer @ growIfNeeded(), removed from commit ↵Sven Gothel2023-03-201-20/+1
| | | | | | 90a95e6f689b479f3c3ae3caf4e30447030c7682 A null buffer is possible in case initialElementCount at ctor is <= 0
* Rename UISceneDemo{02->10}Sven Gothel2023-03-201-2/+2
|
* GraphUI Label: Fix naming semantics: 'pixelScale' -> 'fontScale', i.e. ↵Sven Gothel2023-03-201-13/+33
| | | | font-scale factor, by which the em-sized type glyphs shall be scaled
* GraphUI Demos: Bring back GPUUISceneGLListener0A ..Sven Gothel2023-03-202-73/+107
| | | | | | | | | | | | | | | | | | | | - 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)
* GraphUI UISceneDemo01: Stop rotating animation if GLButton animation is ↵Sven Gothel2023-03-201-22/+22
| | | | toggled off
* GraphUI Scene: Add [add|remove]Shapes(Collection) .. for convenienceSven Gothel2023-03-201-0/+7
|
* GraphUI Shape.setTransform(): Fix center semantics (half size) and consider ↵Sven Gothel2023-03-201-3/+18
| | | | origin (resolves multi-line text resize issues)
* GraphUI Scene: Move GLEventListener implementations reshape() and dispose() ↵Sven Gothel2023-03-201-48/+48
| | | | to the others, init(), display(). Ease review.
* GraphUI MediaButton: Only mark region dirty if already existsSven Gothel2023-03-201-1/+3
|
* UISceneDemo02: The 'dirty' variant w/ listener (printf) attachedSven Gothel2023-03-201-250/+85
|
* UISceneDemo01: Use GLButton shape w/ animating and rotating gears and set up ↵Sven Gothel2023-03-201-180/+150
| | | | an own Scene.PMVMatrixSetup with a plane dimension of 100
* GraphUI Default Scene.PMVMatrixSetup: Scale (back) projection to have ↵Sven Gothel2023-03-202-16/+59
| | | | normalized plane dimensions, 1 for the greater of width and height
* GraphUI Scene: Be quietSven Gothel2023-03-201-2/+0
|
* GraphUI GLButton: Add missing destroyImpl(..) to destroy the ImageSequence ↵Sven Gothel2023-03-201-0/+6
| | | | and FBO-GLAD
* Demos GearsES2: Expose view rotation vars and listenerSven Gothel2023-03-201-1/+14
|
* GLOffscreenAutoDrawable: Remove unused importSven Gothel2023-03-201-2/+0
|
* Add FloatUtil.isZero(float) using FloatUtil.EPSILONSven Gothel2023-03-201-0/+8
|
* Demo MovieSimple: Default to useOrigScale=false, enable @ main w/ -orig_scaleSven Gothel2023-03-191-4/+4
|
* GraphUI: Add UISceneDemo00 for linear animation in one main function; ↵Sven Gothel2023-03-194-46/+260
| | | | UISceneDemo01 simply provides shape drag-move and -resize
* GraphUI Shape win<->obj/shape mapping: Return actual int[] or float[] result ↵Sven Gothel2023-03-198-120/+152
| | | | or null on error instead of boolean to easy API usage
* GraphUI UISceneDemo01: Fix disposal, use windowDestroyed() WindowListener to ↵Sven Gothel2023-03-191-2/+1
| | | | stop animator
* GraphUI UISceneDemo01: Res independent Shape, in Scene attached to GLWindow ↵Sven Gothel2023-03-191-19/+14
| | | | showing simple linear Shape movement w/ listener attached
* Graph UI Shape: Remove debug println @ mouse drag releaseSven Gothel2023-03-191-1/+0
|
* Graph UI: Apply API changes to demos *WIP* (not all working yet, but compile ↵Sven Gothel2023-03-199-268/+680
| | | | clean)
* Graph UI: Adopt Shape implementations to Shape API changes (simplification)Sven Gothel2023-03-1914-44/+38
|
* Graph UI Shape: Fix move and resize via 1-pointer mouse drag: Need to apply ↵Sven Gothel2023-03-191-32/+33
| | | | | | scale on drag-delta, operating on scaled-model-viewpoint Further, on resize, we have different sticky edges for either bottom-right or bottom-left drag resize.
* Graph UI Shape: Fix setTransform(): Take back unscaled-center 1st, then add ↵Sven Gothel2023-03-191-2/+4
| | | | back later (scaled); TODO: Add alignment features
* Graph Shape: Add onMove(Shape.Listener), allowing user to track Shape movementSven Gothel2023-03-191-2/+15
|
* Add Scene.PMVMatrixSetup for programmable PMVMatrix setup in Scene replacing ↵Sven Gothel2023-03-192-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 nullSven Gothel2023-03-191-18/+6
|
* Graph Shape: Add missing drawGLSelect(..)Sven Gothel2023-03-191-0/+5
|
* Graph Shape: Mark methods final and enhance API docSven Gothel2023-03-191-28/+55
|
* Graph Scene: Customize clearColor + clearMask used @ display(..), i.e. ↵Sven Gothel2023-03-191-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 Gothel2023-03-191-10/+117
| | | | correctly with all renderModes yet, inactive; Not good on text)
* Graph: Add RegionRenderer.enable(..) variant w/ passing enable + disable ↵Sven Gothel2023-03-191-4/+15
| | | | GLCallback
* Graph: GLRegion.draw(): Mod curRenderModes by sampleCount { 0 = no-sampling, ↵Sven Gothel2023-03-191-1/+19
| | | | -1 = glSelect } (Experimental not working fully)