fix draw target uv scaling

This commit is contained in:
jacob 2025-12-16 16:07:45 -06:00
parent 7a40b0bff2
commit ed5e95d6d4
3 changed files with 8 additions and 8 deletions

View File

@ -79,8 +79,8 @@ M_Token *M_PushToken(Arena *arena, M_TokenFile *file, String s, M_TokenKind kind
M_TokenFileList M_TokensFromSrcDirs(Arena *arena, StringList src_dirs) M_TokenFileList M_TokensFromSrcDirs(Arena *arena, StringList src_dirs)
{ {
TempArena scratch = BeginScratch(arena);
M_TokenFileList result = ZI; M_TokenFileList result = ZI;
TempArena scratch = BeginScratch(arena);
result.first = &M_NilTokenFile; result.first = &M_NilTokenFile;
result.last = &M_NilTokenFile; result.last = &M_NilTokenFile;
@ -195,7 +195,7 @@ M_TokenFileList M_TokensFromSrcDirs(Arena *arena, StringList src_dirs)
} }
} }
EndScratch(scratch);
return result; return result;
} }

View File

@ -595,7 +595,7 @@ void V_TickForever(WaveLaneCtx *lane)
G_ResourceHandle draw_target = G_PushTexture2D( G_ResourceHandle draw_target = G_PushTexture2D(
frame->gpu_arena, frame->gpu_arena,
G_Format_R16G16B16A16_Float, G_Format_R16G16B16A16_Float,
window_frame.monitor_size, draw_size,
G_Layout_DirectQueue_ShaderReadWrite, G_Layout_DirectQueue_ShaderReadWrite,
.flags = G_ResourceFlag_AllowShaderReadWrite | G_ResourceFlag_AllowRenderTarget .flags = G_ResourceFlag_AllowShaderReadWrite | G_ResourceFlag_AllowRenderTarget
); );
@ -663,7 +663,7 @@ void V_TickForever(WaveLaneCtx *lane)
Rng2 uv = ZI; Rng2 uv = ZI;
uv.p0 = Vec2FromVec(viewport.p0); uv.p0 = Vec2FromVec(viewport.p0);
uv.p1 = Vec2FromVec(viewport.p1); uv.p1 = Vec2FromVec(viewport.p1);
uv = DivRng2Vec2(uv, Vec2FromVec(window_frame.monitor_size)); uv = DivRng2Vec2(uv, Vec2FromVec(draw_size));
UI_SetRawTexture(vis_box, draw_target_ro, uv); UI_SetRawTexture(vis_box, draw_target_ro, uv);
} }
} }

View File

@ -10,7 +10,7 @@ ComputeShader2D(V_BackdropCS, 8, 8)
Vec2I32 target_size = params.target_size; Vec2I32 target_size = params.target_size;
if (target_pos.x < target_size.x && target_pos.y < target_size.y) if (target_pos.x < target_size.x && target_pos.y < target_size.y)
{ {
Vec4 result = Vec4(0.05, 0.05, 0.05, 1); Vec4 result = 0;
/* Checkered square color */ /* Checkered square color */
{ {
@ -42,15 +42,15 @@ ComputeShader2D(V_BackdropCS, 8, 8)
/* Axis color */ /* Axis color */
{ {
f32 thickness = 2; f32 half_thickness = 1;
Vec2 zero_screen = mul(params.world_to_draw_xf, Vec3(0, 0, 1)); Vec2 zero_screen = mul(params.world_to_draw_xf, Vec3(0, 0, 1));
f32 x_dist = abs(target_pos.x - zero_screen.x); f32 x_dist = abs(target_pos.x - zero_screen.x);
f32 y_dist = abs(target_pos.y - zero_screen.y); f32 y_dist = abs(target_pos.y - zero_screen.y);
if (y_dist <= (thickness * 0.5)) if (y_dist <= half_thickness)
{ {
result = Color_Red; result = Color_Red;
} }
else if (x_dist <= (thickness * 0.5)) else if (x_dist <= half_thickness)
{ {
result = Color_Green; result = Color_Green;
} }