Streaming pop-in, edge-of-view retention + vehicle palette fixes
This commit is contained in:
parent
2854f562c9
commit
4776a8d514
3 changed files with 1003 additions and 43 deletions
|
|
@ -21,6 +21,8 @@ REXCVAR_DECLARE(bool, skate3_native_render_scene_splines);
|
|||
REXCVAR_DECLARE(bool, skate3_native_render_scene_quadlists);
|
||||
REXCVAR_DECLARE(bool, skate3_native_render_scene_world_items);
|
||||
REXCVAR_DECLARE(bool, skate3_native_render_scene_dynamic_items);
|
||||
REXCVAR_DECLARE(bool, skate3_native_render_scene_retain_offscreen);
|
||||
REXCVAR_DECLARE(bool, skate3_native_render_scene_tex_lookaside);
|
||||
REXCVAR_DECLARE(bool, skate3_native_render_scene_tex_revalidate);
|
||||
REXCVAR_DECLARE(bool, skate3_native_render_scene_mesh_revalidate);
|
||||
REXCVAR_DECLARE(bool, skate3_native_render_scene_tex_mips);
|
||||
|
|
@ -221,6 +223,22 @@ void NativeDebugDialog::OnDraw(ImGuiIO& io) {
|
|||
REXCVAR_GET(skate3_native_render_scene_quadlists),
|
||||
"Non-indexed quad-list captures (particle systems; off by "
|
||||
"default: render as white squares without sprite textures)"));
|
||||
REXCVAR_SET(
|
||||
skate3_native_render_scene_retain_offscreen,
|
||||
CvarCheckbox("Retain off-screen statics",
|
||||
REXCVAR_GET(skate3_native_render_scene_retain_offscreen),
|
||||
"Keep recently seen statics drawn while the game view-culls "
|
||||
"them: the smoothed render camera trails the guest pose, so "
|
||||
"without this world geometry visibly tears down right at the "
|
||||
"screen edges during pans/traversal"));
|
||||
REXCVAR_SET(
|
||||
skate3_native_render_scene_tex_lookaside,
|
||||
CvarCheckbox("Texture mip lookaside",
|
||||
REXCVAR_GET(skate3_native_render_scene_tex_lookaside),
|
||||
"Keep decodes displaced by streaming mip rebinds parked by "
|
||||
"their fetch words and swap them back in instantly when the "
|
||||
"words return; kills the black/white-then-reload decal "
|
||||
"recycling while approaching"));
|
||||
|
||||
ImGui::SeparatorText("Overlays");
|
||||
REXCVAR_SET(skate3_native_render_scene_2d,
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -195,6 +195,13 @@ struct DrawItem {
|
|||
// (ib_obj, vb_obj, world translation) render into the native outline mask
|
||||
// (see kOutlineShaderSource).
|
||||
bool selected = false;
|
||||
// Re-appended from the off-screen retention map (edge-of-view guard band):
|
||||
// the game view-culled this item this frame, but the re-timed render
|
||||
// camera trails the guest pose and can still see it. Retained items
|
||||
// outlive their guest-side lifetime guarantees, so the render path draws
|
||||
// only their exact cached decodes: no guest-memory reads, no heals, no
|
||||
// miss enqueues.
|
||||
bool retained = false;
|
||||
// Bone palette snapshot taken on the game thread: raw staged rows, 3
|
||||
// float4s per bone (column-vector affine [R | t], model -> world). The
|
||||
// guest staging bank is reused draw to draw, hence the copy.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue