Commit Graph

2 Commits

Author SHA1 Message Date
gaozheng 0da5accebe fix(lod): selectLod 最粗层兜底裁剪,保证返回区间恒不超 maxTextureDim
最粗层 fits||maxLevel 分支原先无条件返回,不校验 fits;合并体最粗层
全可见区间仍 >maxTextureDim 时返回区间会突破单纹理硬上限,C2 重组撞
GL 16384 纹理墙退回慢路。

新增 clampAxisToMaxTexture,在所有返回路径前按可见中心对称裁三轴到
重组单纹理各轴 <= maxTextureDim 的子区间;brick 本身 > maxTextureDim
的退化情形返回单块并由 C2 体素级再裁(契约见 hpp)。补 3 例边界测试
(brick>maxTextureDim、最粗层整卷超限、改写 RespectsMaxTextureDimAlways
为 brick!=maxTextureDim),原有用例全绿。
2026-06-24 09:09:01 +08:00
gaozheng fa348a2a9f feat(render): C1 视野自适应 LOD 选层(纯逻辑 headless)
selectLod(VolumeView,CameraView,maxTextureDim=16384)→LodSelection:
透视相机参数构 5 视锥面(左/右/上/下/近),保守 p-vertex 裁剪求该层可见
brick 区间;按 worldPerPixel 定最细不过采样层 Lmin,再逐级变粗直到区间
重组单纹理各轴 ≤maxTextureDim。远观→粗层整卷、近观→细层小块、视锥外→empty。
零 VTK/Qt 依赖,与 OutOfCoreSource 几何约定一致(level L 间距×2^L、维度 ceil(n/2^L))。
10 例 headless 单测覆盖远/近/侧/视锥外/极小 maxTextureDim/视距-层单调。
2026-06-24 08:57:32 +08:00