Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Graph: Cleanup Vertex.Factory referencing: Only bind to OutlineShape and use ↵ | Sven Gothel | 2023-03-21 | 34 | -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 Gothel | 2023-03-20 | 2 | -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 Gothel | 2023-03-20 | 10 | -74/+4 |
| | | | | destroyImpl() | ||||
* | GraphUI Scene: Add getDefaultVertexFactory(), fix getRenderState() API doc ↵ | Sven Gothel | 2023-03-20 | 1 | -2/+6 |
| | | | | (can't be null) | ||||
* | GLArrayDataClient: Allow null buffer @ growIfNeeded(), removed from commit ↵ | Sven Gothel | 2023-03-20 | 1 | -20/+1 |
| | | | | | | 90a95e6f689b479f3c3ae3caf4e30447030c7682 A null buffer is possible in case initialElementCount at ctor is <= 0 | ||||
* | Rename UISceneDemo{02->10} | Sven Gothel | 2023-03-20 | 1 | -2/+2 |
| | |||||
* | GraphUI Label: Fix naming semantics: 'pixelScale' -> 'fontScale', i.e. ↵ | Sven Gothel | 2023-03-20 | 1 | -13/+33 |
| | | | | font-scale factor, by which the em-sized type glyphs shall be scaled | ||||
* | GraphUI Demos: Bring back GPUUISceneGLListener0A .. | Sven Gothel | 2023-03-20 | 2 | -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 Gothel | 2023-03-20 | 1 | -22/+22 |
| | | | | toggled off | ||||
* | GraphUI Scene: Add [add|remove]Shapes(Collection) .. for convenience | Sven Gothel | 2023-03-20 | 1 | -0/+7 |
| | |||||
* | GraphUI Shape.setTransform(): Fix center semantics (half size) and consider ↵ | Sven Gothel | 2023-03-20 | 1 | -3/+18 |
| | | | | origin (resolves multi-line text resize issues) | ||||
* | GraphUI Scene: Move GLEventListener implementations reshape() and dispose() ↵ | Sven Gothel | 2023-03-20 | 1 | -48/+48 |
| | | | | to the others, init(), display(). Ease review. | ||||
* | GraphUI MediaButton: Only mark region dirty if already exists | Sven Gothel | 2023-03-20 | 1 | -1/+3 |
| | |||||
* | UISceneDemo02: The 'dirty' variant w/ listener (printf) attached | Sven Gothel | 2023-03-20 | 1 | -250/+85 |
| | |||||
* | UISceneDemo01: Use GLButton shape w/ animating and rotating gears and set up ↵ | Sven Gothel | 2023-03-20 | 1 | -180/+150 |
| | | | | an own Scene.PMVMatrixSetup with a plane dimension of 100 | ||||
* | GraphUI Default Scene.PMVMatrixSetup: Scale (back) projection to have ↵ | Sven Gothel | 2023-03-20 | 2 | -16/+59 |
| | | | | normalized plane dimensions, 1 for the greater of width and height | ||||
* | GraphUI Scene: Be quiet | Sven Gothel | 2023-03-20 | 1 | -2/+0 |
| | |||||
* | GraphUI GLButton: Add missing destroyImpl(..) to destroy the ImageSequence ↵ | Sven Gothel | 2023-03-20 | 1 | -0/+6 |
| | | | | and FBO-GLAD | ||||
* | Demos GearsES2: Expose view rotation vars and listener | Sven Gothel | 2023-03-20 | 1 | -1/+14 |
| | |||||
* | GLOffscreenAutoDrawable: Remove unused import | Sven Gothel | 2023-03-20 | 1 | -2/+0 |
| | |||||
* | Add FloatUtil.isZero(float) using FloatUtil.EPSILON | Sven Gothel | 2023-03-20 | 1 | -0/+8 |
| | |||||
* | Demo MovieSimple: Default to useOrigScale=false, enable @ main w/ -orig_scale | Sven Gothel | 2023-03-19 | 1 | -4/+4 |
| | |||||
* | GraphUI: Add UISceneDemo00 for linear animation in one main function; ↵ | Sven Gothel | 2023-03-19 | 4 | -46/+260 |
| | | | | UISceneDemo01 simply provides shape drag-move and -resize | ||||
* | GraphUI Shape win<->obj/shape mapping: Return actual int[] or float[] result ↵ | Sven Gothel | 2023-03-19 | 8 | -120/+152 |
| | | | | or null on error instead of boolean to easy API usage | ||||
* | GraphUI UISceneDemo01: Fix disposal, use windowDestroyed() WindowListener to ↵ | Sven Gothel | 2023-03-19 | 1 | -2/+1 |
| | | | | stop animator | ||||
* | GraphUI UISceneDemo01: Res independent Shape, in Scene attached to GLWindow ↵ | Sven Gothel | 2023-03-19 | 1 | -19/+14 |
| | | | | showing simple linear Shape movement w/ listener attached | ||||
* | Graph UI Shape: Remove debug println @ mouse drag release | Sven Gothel | 2023-03-19 | 1 | -1/+0 |
| | |||||
* | Graph UI: Apply API changes to demos *WIP* (not all working yet, but compile ↵ | Sven Gothel | 2023-03-19 | 9 | -268/+680 |
| | | | | clean) | ||||
* | Graph UI: Adopt Shape implementations to Shape API changes (simplification) | Sven Gothel | 2023-03-19 | 14 | -44/+38 |
| | |||||
* | Graph UI Shape: Fix move and resize via 1-pointer mouse drag: Need to apply ↵ | Sven Gothel | 2023-03-19 | 1 | -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 Gothel | 2023-03-19 | 1 | -2/+4 |
| | | | | back later (scaled); TODO: Add alignment features | ||||
* | Graph Shape: Add onMove(Shape.Listener), allowing user to track Shape movement | Sven Gothel | 2023-03-19 | 1 | -2/+15 |
| | |||||
* | 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. |