Skip to content

refactor: phase_6_code_quality — C_style_casts_to_named_iota_constexpr_centralized_constants#18

Merged
Cle2ment merged 5 commits into
masterfrom
refactor/phase-6-code-quality
Jun 8, 2026
Merged

refactor: phase_6_code_quality — C_style_casts_to_named_iota_constexpr_centralized_constants#18
Cle2ment merged 5 commits into
masterfrom
refactor/phase-6-code-quality

Conversation

@Cle2ment

@Cle2ment Cle2ment commented Jun 8, 2026

Copy link
Copy Markdown
Owner

Batch 5/6/7 — Code Quality

原子提交完成 5 类代码质量改进:

Commit 1: 共享命名常量头

  • 新增 Constants.hkPi + 7 个 epsilon 常量(kSelfIntersectionEpsilonkDenominatorEpsilonkRoughnessMinkNdotMinkRussianRouletteThresholdkSpecDenominatorEpskInSphereEpsilon

Commit 2: C 风格强转 → 命名强转(RayTracing — 20 处)

  • CUDARenderer.cu(6 处):2× static_cast<int>(CUDA_CHECK 宏)+ 4× reinterpret_cast(void* 指针)
  • OptiXDenoiser.cpp(13 处):1× static_cast<int> + 3× reinterpret_cast<CUstream> + 9× reinterpret_cast<CUdeviceptr>
  • VkCUDAInterop.cpp(1 处):1× reinterpret_cast<PFN_vkGetMemoryWin32HandleKHR>

Commit 3: Renderer.cpp 现代化

  • P2-10:#define MT 1static constexpr bool kMultithreaded = true + if constexpr
  • P2-11:2 个原始 iota-for 循环 → std::iota(添加 #include <numeric>
  • P2-12:3 处 glm::pi<float>()kPi
  • P2-14:9 处 epsilon 魔数 → 命名常量

Commit 4: GPU/ISPC 路径的 π/epsilon 命名常量

  • CUDARenderer.cuh(17 处替换):添加 #include "Constants.h";6× kPi + 11× 命名 epsilon
  • PathTracer.ispc(16 处替换):本地 static const float 命名常量;5× kPi + 11× 命名 epsilon

Commit 5: Peanut 子模块 — C 风格强转(28 处)

验证

  • Debug 构建:通过(24.6s)
  • Release 构建:通过(12.0s)
  • 运行时:正常,无 CUDA 错误,GPU 渲染正确,Max Bounces UI 滑块正常工作
  • 所有 warning/error(C4819、OptiX 上下文、Vulkan 布局)均为原有的

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.

1 participant