- 25 Jun, 2026 1 commit
-
-
Matthias Betz authored
Resolve "OpenGL View" See merge request !25
-
- 23 Jun, 2026 2 commits
-
-
Matthias Betz authored
Maven Central only publishes JOGL/GlueGen up to 2.3.2, so 2.5.0 failed to resolve on clean machines (CI). Add the JogAmp Maven repository where 2.4.0+ are published. Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
Matthias Betz authored
fix healer gui with new OpenGL viewports
-
- 22 Jun, 2026 1 commit
-
-
Matthias Betz authored
Add OrbitCamera.copyOrbitFrom (sync orbit/zoom/pan, keep per-viewport aspect), and GLViewport interaction listener + requestRedraw + clearScene so two viewports can share camera movement and be cleared/redrawn independently. Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
- 19 Jun, 2026 33 commits
-
-
Matthias Betz authored
Highlight edges share the exact depth of the wireframe mesh lines, so GL_LESS rejected them and they vanished in wireframe mode. Draw the overlay with GL_LEQUAL (restored to GL_LESS afterward) so coincident markers draw on top while still being occluded by nearer geometry. Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
Matthias Betz authored
glPolygonMode(GL_LINE) for wireframe applied to the sphere-impostor point quads too, drawing them as outlines. Reset to GL_FILL after the scene mesh so wireframe affects only the geometry; highlight points/edges stay filled. Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
Matthias Betz authored
openglfx's requestRepaint is an unconditional notify with no pending flag, so a repaint() arriving while a frame is mid-render is dropped. When a scene was built, the setScene repaint rendered an index-less (empty) frame and the following setIndexSet repaint was lost, so the scene only appeared after the next rotate/zoom. Route all repaints through requestRender(), which re-delivers via a small AnimationTimer pump until a frame consumes the request, then stops itself (idle stays allocation-free). Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
Matthias Betz authored
openglfx with fps=-1.0 repaints every JavaFX pulse (~60fps), allocating and rendering continuously even when idle. Set fps=0.0 so a frame is drawn only when repaint() is called (every state change and input already does), and add canvas resize listeners to repaint on size changes. Idle now allocates nothing. Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
Matthias Betz authored
The embedded openglfx canvas breaks JavaFX partial-repaint tracking, leaving sibling controls (the log panel) with a stale/cleared background while only newly-invalidated content (log text) repaints. Setting prism.dirtyopts=false before toolkit init forces a full scene repaint per pulse, fixing it. Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
Matthias Betz authored
Add a geometry-shader program that expands each highlight point into a camera-facing quad shaded as a lit sphere (hemisphere normal per fragment, discard outside the disc). ShaderProgram gains optional geometry-stage support; HighlightOverlay splits draw into drawLines/drawPoints so points use the impostor program while edges keep the flat scene program. Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
Matthias Betz authored
Request a multisampled framebuffer via the openglfx GLCanvas msaa parameter and enable GL_MULTISAMPLE, smoothing jagged polygon/line/point edges. The picking framebuffer stays single-sample so picked ids remain exact. Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
Matthias Betz authored
- Drop the selected-polygon colour tint; selection is shown only by the highlight points and edges (scene shader outputs vertex colour directly). - Larger highlight points (glPointSize) and thicker edges (glLineWidth); markers use a constant on-screen pixel size independent of zoom. - Fix click picking on HiDPI: scale logical click coords to physical framebuffer pixels so the sampled pixel is the one under the cursor. Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
Matthias Betz authored
setIndexSet could run before the scene's buffers were generated (ebo == 0), causing GL_INVALID_OPERATION "buffer not bound". Now the index set is retained and applied only once the scene is uploaded, re-applied after a fresh upload, and GL handles are dropped/re-queued on context (re)init. Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
Matthias Betz authored
openglfx-jogl 4.1.19 calls GLDrawableFactory.getFactory(AbstractGraphicsDevice), which does not exist in JOGL 2.3.2 (NoSuchMethodError at canvas init). 2.5.0 provides it; JoglTesselator's GLU tessellation API is unchanged across the bump. Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
Matthias Betz authored
Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
Matthias Betz authored
- resetCamera re-fits the loaded model's bounding box (regression fix) - remove dead allPolygons local in SceneBuilder.fromModel - HighlightController: single GPU upload per highlight (no empty intermediate push)
-
Matthias Betz authored
Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
Matthias Betz authored
Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
Matthias Betz authored
Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
Matthias Betz authored
-
Matthias Betz authored
-
Matthias Betz authored
-
Matthias Betz authored
-
Matthias Betz authored
-
Matthias Betz authored
openglfx-jogl does not declare JOGL; the GUI now uses com.jogamp.opengl directly, so depend on jogl-all-main + gluegen-rt-main explicitly (versions managed by parent; -main artifacts bundle platform natives). Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
Matthias Betz authored
Implements SceneBuilder with fromPolygons() and build() entry points, plus private helpers for center computation and base color selection. Test loads real GML fixture (building with BoundarySurfaces) to verify buffer length consistency and that all picking ids resolve to Polygons. Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
Matthias Betz authored
-
Matthias Betz authored
-
Matthias Betz authored
-
Matthias Betz authored
-
Matthias Betz authored
-
Matthias Betz authored
-
Matthias Betz authored
-
Matthias Betz authored
-
Matthias Betz authored
-
Matthias Betz authored
OpenGLCamera/UniformLocation were a partial earlier attempt; superseded by the new gui.gl package per docs/superpowers/plans/2026-06-18-opengl-3d-view.md. Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
Matthias Betz authored
Phased TDD plan: pure math/data core (Mat4, OrbitCamera, ShadeColor, PickingCodec, MeshAccumulator, IndexSetBuilder, SceneBuilder), GL infrastructure (shaders, GlScene, PickingFramebuffer, HighlightOverlay, GLViewport), GUI wiring, manual verification, and packaging. Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
- 18 Jun, 2026 1 commit
-
-
Matthias Betz authored
Replaces the JavaFX SubScene/MeshView rendering with an OpenGL viewport (openglfx-jogl, GL 3.3 core), single global VBO, GPU color-picking, and baked fake shading. Windows/Linux targets; JavaFX 3D path removed. Co-Authored-By:Claude Opus 4.8 <noreply@anthropic.com>
-
- 18 May, 2026 1 commit
-
-
Luna Riegel authored
-
- 16 Apr, 2026 1 commit
-
-
Luna Riegel authored
-