- 19 Jun, 2026 30 commits
-
-
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 3 commits
-
-
Luna Riegel authored
-
Luna Riegel authored
-
Luna Riegel authored
-
- 09 Mar, 2026 1 commit
-
-
Matthias Betz authored
fixed a bug where a degenerate triangle causing the all polygons wrong orientation check to report false positives
-
- 06 Mar, 2026 1 commit
-
-
Matthias Betz authored
-
- 25 Feb, 2026 2 commits
-
-
Luna Riegel authored
Version 3.18.2 See merge request !39
-
Luna Riegel authored
-
- 24 Feb, 2026 1 commit
-
-
Luna Riegel authored
-