shenlei and Claude Opus 5.5
44a020f01e
native renderer: game world at MT_RENDER_SCALE (0.75 on Android), MSAA default 2
...
Draws recorded inside CPythonApplication::RenderGame are marked Render3DDraw::scene and
drawn by a scene pass compatible with pass_ into a reduced-resolution image, composited
where RenderGame drew; the UI stays full resolution. --render-scale / MT_RENDER_SCALE,
desktop default 1.0 (unchanged path).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-09-30 11:28:05 +09:00
shenlei and Claude Opus 5.5
22d534c5eb
Split vulkan_window.cpp by responsibility and render() into phases
...
VulkanWindow's 3000-line TU becomes sdl_window.cpp (window, events,
cursor, screenshot BMP), vk_device.cpp (device, swapchain, MSAA,
framebuffers), vk_pipelines.cpp (render passes, pipelines),
vk_resources.cpp (buffers, render targets, geometry), vk_textures.cpp
(textures, samplers, descriptors), vk_frame.cpp (render) and
ui_batches.cpp; vulkan_window.cpp keeps construction and timing stats.
Function bodies move verbatim.
render() now reads fence/acquire -> prepare_draws -> prepare_ui ->
write_draw_states -> record_passes -> record_readbacks -> submit ->
finish_readbacks -> present, with FrameDraws / Readback carrying the
locals that used to live across 500 lines.
Verified: login-screen screenshot byte-identical to HEAD; game-world
draw/vertex/index/UI counts identical; ctest, port_gate macos+android,
Android build pass.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-09-29 21:54:36 +09:00