summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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)
* Graph: GLRegion: Pass curRenderModes to updateImpl() + drawImpl(), prepare ↵Sven Gothel2023-03-195-73/+112
| | | | switch by sampleCount; Don't use any resource not requested by curRenderModes
* Graph : Misc API docSven Gothel2023-03-192-2/+5
|
* Graph: Add RenderState API doc; RegionRenderer: Remove unused shell method, ↵Sven Gothel2023-03-192-6/+8
| | | | left over from f8584748e33aab56780eca5cf7009a5a0d11991d
* Fix MovieSimple regression of commit ↵Sven Gothel2023-03-194-5/+19
| | | | 00dbacc5af3531af50e77a02d534dc11e08de10f, 913b00f8b876e29af91677ef61b3eb35d6853e6e
* NEWT MouseEvent.getEventTypeString(): Shorten by removing leading 'EVENT_MOUSE_'Sven Gothel2023-03-191-8/+8
|
* API doc cleanup, add + refine math testsSven Gothel2023-03-1922-29/+586
| | | | API doc
* Graph: Make RenderState a composition of RegionRenderer, which also creates ↵Sven Gothel2023-03-1524-180/+205
| | | | and destroys it. Dropping this also from user (complexity).
* ShaderProgram field programLinked: Set to false @ release()/destroy(), On ↵Sven Gothel2023-03-151-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 Gothel2023-03-154-22/+41
| | | | dump{Shader->}Source(), refine string output.
* Fix ShaderProgram ownership bug, introduced in commit ↵Sven Gothel2023-03-156-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.