fix: initialize particle respawn bounds in weather layer
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled
This commit is contained in:
20
docs/50_Step记录/STEP-055_Android真实WeatherV2风场综合可视化_v8.md
Normal file
20
docs/50_Step记录/STEP-055_Android真实WeatherV2风场综合可视化_v8.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# STEP-055 Android 真实 WeatherV2 风场综合可视化 v8
|
||||
|
||||
状态:**IMPLEMENTED / WAITING_ANDROID_VALIDATION**
|
||||
|
||||
Starting HEAD:`4645280fc59ac8e356f4339bb7fad5d73b4a413a`
|
||||
|
||||
## v9 Android C++ 编译遗漏修复
|
||||
|
||||
v9 为 `ParticleGpuValidationUBO` 新增 `respawnBounds` 后,`render_weather_color_layer.cpp` 的 designated initializer 未同步,Android OpenGL 编译在 `-Wmissing-designated-field-initializers -Werror` 下失败。
|
||||
|
||||
WeatherColorLayer 不参与 particle viewport respawn,因此其 initializer 已按字段声明顺序补齐:`fieldBounds`、`respawnBounds`、`fieldScale`、`matrix`。`respawnBounds` 取与 `fieldBounds` 相同的中性 Field 范围;色场采样、颜色计算与 opacity 语义未变。
|
||||
|
||||
搜索确认当前 C++ 中仅有两个 `ParticleGpuValidationUBO` initializer:
|
||||
|
||||
- `render_particle_validation_layer.cpp`:已有 v9 respawn bounds;
|
||||
- `render_weather_color_layer.cpp`:本次补齐。
|
||||
|
||||
shader generator、Linux OpenGL 两个 renderer translation unit 精确编译、既有非 Jest `style_layer.test.cpp` 精确编译和 `git diff --check` 通过。未执行 Android Gradle/APK/ADB/设备或 Jest。
|
||||
|
||||
viewport-aware respawn、zoom-aware speed、wall-time lifecycle、Trail camera debounce、canonical U/V、Timeline/Runtime Window、particleCount 与 WeatherColorLayer 实际颜色场行为均未修改。
|
||||
@@ -83,6 +83,7 @@ public:
|
||||
const shaders::ParticleGpuValidationUBO ubo = {
|
||||
.pass = {5.0f, 0.0f, 0.0f, 0.0f}, .marker = {mix, 0.0f, 0.0f, 0.0f}, .mask = {0, 0, 0, 0},
|
||||
.visual = {opacity, 0, 0, 0}, .fieldBounds = bounds(resources->t0),
|
||||
.respawnBounds = bounds(resources->t0),
|
||||
.fieldScale = {resources->scale0, resources->scale1, 0, 0},
|
||||
.matrix = util::cast<float>(parameters.matrixForTile({wrap, {0, 0, 0}})),
|
||||
};
|
||||
|
||||
@@ -439,3 +439,7 @@ Particle visual clock 改为基于 zoom 的有界 scale 与 2400s/frame clamp;
|
||||
## STEP-055 Zoom 下 Viewport 粒子密度调整
|
||||
|
||||
configured particleCount 保持不变;稳定相机后,State respawn 域改为“viewport 四角 Mercator AABB + 15% margin”与 canonical Field bounds 的交集。camera moving 期间继续从 full Field respawn,稳定至少 150ms 后才让 viewport 外 slot 回收进入该域;无效/空/过小交集安全回退 full Field。新增独立 respawnBounds UBO,不改变 Field sampling 边界、Timeline、Runtime、WeatherColorLayer 或 canonical U/V,仍待 Android 验收。
|
||||
|
||||
## STEP-055 v9 Android C++ 编译遗漏修复
|
||||
|
||||
WeatherColorLayer 的 `ParticleGpuValidationUBO` designated initializer 补齐 `respawnBounds`,并使用与 `fieldBounds` 相同的中性范围;仅修复 Android `-Wmissing-designated-field-initializers` 编译失败。已搜索确认两个 C++ initializer 均完整,未改粒子 respawn、色场行为或冻结数据/时间线边界,仍待 Android 验收。
|
||||
|
||||
Reference in New Issue
Block a user