Skip to content

split/threedim#2079

Open
jcelerier wants to merge 75 commits into
masterfrom
split/threedim
Open

split/threedim#2079
jcelerier wants to merge 75 commits into
masterfrom
split/threedim

Conversation

@jcelerier

Copy link
Copy Markdown
Member
  • isf: TEX_DIMENSIONS_3D / IMG_SIZE_3D aliases for 3D samplers
  • isf: point3d_input AS_COLOR flag for color-swatch display
  • isf: parse-time warning on unknown csf_image_input FORMAT
  • isf: parser rework — top-level descriptors, uniform inputs, geometry AUXILIARY, vertex inputs
  • 3rdparty: add OffsetAllocator submodule
  • gfx: add AssetTable + TextureLoader for shared decoded-asset cache
  • gfx: add GpuResourceRegistry — slab-allocated GPU arenas backed by OffsetAllocator
  • gfx: add CameraMath / GpuTiming / VertexFallback helpers
  • gfx: add IsfBindingsBuilder + PipelineStateHelpers
  • gfx: add SceneGPUState — FlatScene + scene packer
  • gfx: add OffscreenDevice + RhiPreviewWidget + Metal buffer-copy backend
  • gfx: extend ISF / SimpleRenderedISF nodes for new ISF features
  • csf: rework for scene-aware compute pipeline
  • gfx: rework raw raster pipeline (MRT, AUXILIARY, EXECUTION_MODEL) and VSA
  • gfx: refresh shared graph plumbing for incremental scene pipeline
  • gfx: add ScenePreprocessorNode — scene_spec to flat draws + arena uploads
  • gfx: add SceneFilterNode + FlattenedSceneFilterNode + MergeGeometriesNode
  • avnd: split CpuFilter / CpuAnalysis lifecycle into init / initState / release
  • avnd: add scene_port concept
  • avnd: split GpuNode lifecycle and add scene_port storage helpers
  • gfx: extend ShaderProgram for new ISF features
  • gfx: refresh Filter / GeometryFilter / TexturePort for new pipeline
  • gfx: refresh WindowDevice / Spout / Syphon / WindowCapture
  • gfx: refresh GfxContext + window / screen / multiwindow nodes for incremental scene rebuild
  • js: gpu node lifecycle rework with deterministic teardown
  • wip: many bugfixes across the board
  • build: more build fixes
  • ci: fixes for older qt versions
  • rhi: populate caps
  • ci: try windows fixes
  • gfx: restore PhongNode, still used by score-vfx-template
  • gfx: keep TextureRenderTarget compatible with addons' aggregate init
  • gfx: do not include mmsystem.h in CommonUBOs.hpp
  • gfx: fix build with Qt < 6.9
  • gfx: fix designator order after TextureRenderTarget reorder
  • gfx: fix build with Qt 6.4
  • gfx: more Qt 6.4 compatibility guards
  • 3rdparty: add ufbx submodule
  • 3rdparty: add fastgltf submodule
  • threedim: refresh primitives, buffer/geometry helpers; rename ObjLoader to GeometryLoader; add ImageLoader / BufferInfo / TextureInfo / TangentUtils
  • threedim: add unified AssetLoader on top of FbxParser / GltfParser
  • threedim: add Camera, CameraArray, CameraSwitch, Light, Transform3D
  • threedim: add ScenePreprocessor (replaces SceneFlattener)
  • threedim: add SceneFilter + FlattenedSceneFilter + MergeGeometries
  • threedim: add SceneGraphFilter + SceneSwitch + SceneSelector + SceneGroup
  • threedim: add SceneDuplicator + SceneFromMeshes + SceneInspector + CreateCollection + SceneResourceRoute
  • threedim: add InjectBuffer + InjectTexture for live scene-resource injection
  • threedim: add PBRMesh + MaterialOverride + ConfigurePrimitive + Instancer + ShadowCascadeSetup
  • threedim: add EnvironmentLoader + improve CubemapLoader / CubemapComposer
  • threedim: add AnimationPlayer + Humanoid retargeting + InverseKinematics
  • threedim: add TextToMesh + TextToTexture
  • threedim: add ExtractBuffer2 + ExtractSceneBuffer + ExtractTexture
  • threedim: refresh ModelDisplay + RenderPipeline + Splat for scene pipeline
  • wip: many bugfixes across the board
  • build: more build fixes
  • deps: add zstd dep everywhere
  • deps: redirect find_package(zstd) to the vendored targets
  • deps: provide simdjson on nix & flatpak

@jcelerier jcelerier force-pushed the split/threedim branch 3 times, most recently from 6c199a5 to ec9e78e Compare June 26, 2026 03:14
jcelerier and others added 27 commits June 26, 2026 05:45
…AUXILIARY, vertex inputs

Top-level descriptors (PIPELINE_STATE, MULTIVIEW, EXECUTION_MODEL, EXTENSIONS,
CLIP_DISTANCES / CULL_DISTANCES, DEPTH_LAYOUT). New input kinds: uniform_input
(UBO INPUTS), per-input sampler_config (WRAP / FILTER / COMPARE / MIPS),
audio_sampler_config. Storage / image / cubemap input extensions: PERSISTENT,
IS_ARRAY, GENERATE_MIPS, cube/3D textures. Geometry input AUXILIARY: storage +
sampled, persistent, is_uniform, depth companion, INDIRECT block. Per-pass:
LAYER, Z, FORMAT, PIPELINE_STATE override. OUTPUTS: LAYERS, DEPTH, FORMAT,
SAMPLES, CUBEMAP, GENERATE_MIPS, WIDTH/HEIGHT expressions. Vertex inputs:
REQUIRED, DEFAULT, SEMANTIC, INTERPOLATION (with auto-flat for int/bool
varyings).

Bug fixes: mat3/mat4 attribute slot count, TYPES struct emission in BOTH
stages, drop incorrect std430 padding heuristic that was breaking RawLight
stride.
jcelerier and others added 27 commits June 26, 2026 05:50
The engine rework moved the pipeline pointer to Pass::p.pipeline; ModelDisplayNode still used the old Pass::pipeline (6 sites) and failed to compile against the reworked engine. This is the engine-API blast radius and must ride with gfx-scene so score_plugin_threedim builds (and so gfx-scene can merge without breaking master's threedim plugin). The fuller ModelDisplay refresh remains on split/threedim. PR #2050.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- BackgroundNode.hpp: include <score/application/GUIApplicationContext.hpp>
  (called score::GUIAppContext() via a broken transitive include; non-unity only)
- CommonUBOs.hpp: drop the <windows.h> + '#undef near/far' block (matches master)
  and rename the colliding UBO fields near/far -> znear/zfar. The '#undef far'
  leaked into downstream Windows headers, breaking mmeapi.h (CameraDevice.win32)
  and combaseapi.h (MSVC).
- CameraDevice.win32.cpp: clang-format off/on around the order-sensitive Windows
  includes so SortIncludes can't reorder and re-break them.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UJoeDPZWGZMVPe65Np4f2F
avendish: gpp::std140_offset alignment fix (avnd#5). libossia: geometry_port comment fix (avnd#16). NOTE: these submodule commits are LOCAL-ONLY (branches pr2050-std140-offset-fix / pr2050-geometry-port-comment) and must be pushed to their remotes/forks before this branch is shared, or the pointers will dangle.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
avendish: gpp::std140_offset alignment fix (avnd#5). libossia: geometry_port comment fix (avnd#16). NOTE: these submodule commits are LOCAL-ONLY (branches pr2050-std140-offset-fix / pr2050-geometry-port-comment) and must be pushed to their remotes/forks before this branch is shared, or the pointers will dangle.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…er to GeometryLoader; add ImageLoader / BufferInfo / TextureInfo / TangentUtils
Avoids spz fetching a duplicate zstd (macOS) or finding broken SDK
configs (MSVC).
fastgltf downloads it at configure time otherwise, impossible in
sandboxed builds.
@jcelerier jcelerier force-pushed the split/threedim branch 2 times, most recently from 11090c0 to a0bcfef Compare June 26, 2026 15:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants