Commit Graph

3 Commits

Author SHA1 Message Date
gaozheng fb944f706f feat(vtk): 常驻粗底图+局部高清叠加(永不空白)
ViewAdaptiveVolumeSource 构造时一次性在主线程建整卷最粗「各轴≤16384」层
单纹理底图 baseImage(),永远持有、永不释放、绝不被异步路径触碰——任何视角/
任何运动中底图都盖住整个体,拖动/缩放绝不空白。高清(currentImages)异步重组
当前视野后叠在底图之上局部覆盖,未就绪时只显底图。gpr_poc view 用两个 vtkVolume
(底图先渲、高清叠加),新增 --preview --base 出整卷概览底图截图。为 morph(C3-4)/
运动跟踪(C3-7)打两层结构。
2026-06-24 12:03:10 +08:00
gaozheng cec41e3539 feat(vtk): ViewAdaptive 接异步重组(update 不阻塞,view 拖动不卡)+修 C2 维度用 store.dims
把 C3-1 AsyncRegionBuilder 接进 ViewAdaptiveVolumeSource:updateView 只提交目标
(selectLod→RegionTarget→requestTarget),不在主线程重组、立即返回;currentImages/
sliceSource 经 builder.takeLatest 取最新已就绪(没新结果用上一张),空选区不提交、
保留上一张。新增 AsyncRegionBuilder::takeLatest(int&) 非破坏式重载随结果回传 level,
供 lastLevel 同步。

C2 MEDIUM:RegionReorganizer 维度改用 store.dims(level)(单一真源),弃自算
ceil(n/2^level),防 store 降采样规则漂移。

gpr_poc view 切异步:拖动中 InteractionEvent 持续提交目标(非阻塞)+33ms 重复定时器
非阻塞拉取后台就绪纹理换上→主线程不被重组卡住(跟手);preview/smoke/默认取景用
阻塞轮询保证拿到首图。

测试:ViewAdaptive 9 测(原 6 调为异步轮询版+新增 3:AsyncUpdateEventuallyReady/
UpdateDoesNotBlock(<50ms)/UsesStoreDimsNotSelfComputed),AsyncRegionBuilder 5 测仍绿;
全量 382 测通过。
2026-06-24 10:22:22 +08:00
gaozheng fc9ea58cb5 feat(vtk): ViewAdaptiveVolumeSource 视野区域单纹理重组(C2)
用 C1 selectLod 选层选区,从 ChunkedVolumeStore 把当前视野区域重组为单张
VTK_SHORT vtkImageData(各轴 ≤16384,世界 origin/spacing 按 level+exagg),实现
IVolumeRenderSource。核心 updateView(CameraView,VolumeView) headless 可测。
gpr_poc view 切到该源(退掉 MultiBlock/budget 简化路径),--preview 渲默认视角存
PNG,--smoke 离屏不崩且 LOD 随缩放切换。
2026-06-24 09:24:31 +08:00