From 394500898457f7d4ec03c66e88d214fefd34adb6 Mon Sep 17 00:00:00 2001 From: jacob Date: Sat, 10 Jan 2026 07:44:34 -0600 Subject: [PATCH] tweaks --- src/pp/pp_res/sprite/tiles.ase | 3 --- src/pp/pp_res/sprite/tiles_real.ase | 3 --- src/pp/pp_res/tile/Carpet.ase | 3 +++ src/pp/pp_res/tile/Tile.ase | 3 +++ src/pp/pp_sim/pp_sim_shared.cg | 4 +++- src/pp/pp_sim/pp_sim_shared.cgh | 3 ++- src/pp/pp_vis/pp_vis_core.c | 7 +++++-- src/pp/pp_vis/pp_vis_gpu.g | 17 +++++------------ src/pp/pp_vis/pp_vis_shared.cgh | 2 ++ 9 files changed, 23 insertions(+), 22 deletions(-) delete mode 100644 src/pp/pp_res/sprite/tiles.ase delete mode 100644 src/pp/pp_res/sprite/tiles_real.ase create mode 100644 src/pp/pp_res/tile/Carpet.ase create mode 100644 src/pp/pp_res/tile/Tile.ase diff --git a/src/pp/pp_res/sprite/tiles.ase b/src/pp/pp_res/sprite/tiles.ase deleted file mode 100644 index 5489fa79..00000000 --- a/src/pp/pp_res/sprite/tiles.ase +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:06990840a2070d57b8ee487704558a50442f184b6a73e9beeb0b2a083ef8c6e4 -size 482 diff --git a/src/pp/pp_res/sprite/tiles_real.ase b/src/pp/pp_res/sprite/tiles_real.ase deleted file mode 100644 index 4a56baac..00000000 --- a/src/pp/pp_res/sprite/tiles_real.ase +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:93634d9cc0c63913a4100f48e6d096814baa0694bc108b799b73db5a0db54a2f -size 501 diff --git a/src/pp/pp_res/tile/Carpet.ase b/src/pp/pp_res/tile/Carpet.ase new file mode 100644 index 00000000..5f82376f --- /dev/null +++ b/src/pp/pp_res/tile/Carpet.ase @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a632e9389e35683a1ffca420a6143bbce53648deb77b9bdf4f0b29f2040a8aa7 +size 506 diff --git a/src/pp/pp_res/tile/Tile.ase b/src/pp/pp_res/tile/Tile.ase new file mode 100644 index 00000000..1a10957f --- /dev/null +++ b/src/pp/pp_res/tile/Tile.ase @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5ecca86cd89d484660ffd4de207d5fec625ba750ec1b4a30bf5724a6ea8635f +size 423 diff --git a/src/pp/pp_sim/pp_sim_shared.cg b/src/pp/pp_sim/pp_sim_shared.cg index 649599f2..bd67b318 100644 --- a/src/pp/pp_sim/pp_sim_shared.cg +++ b/src/pp/pp_sim/pp_sim_shared.cg @@ -3,7 +3,9 @@ i32 S_TileIdxFromTilePos(Vec2 p) { - i32 result = ClampI32(FloorF32(p.x) + (FloorF32(p.y) * S_TilesPitch), 0, S_TilesCount); + i32 x = ClampI32(FloorF32(p.x), 0, S_TilesPitch - 1); + i32 y = ClampI32(FloorF32(p.y), 0, S_TilesPitch - 1); + i32 result = x + (y * S_TilesPitch); return result; } diff --git a/src/pp/pp_sim/pp_sim_shared.cgh b/src/pp/pp_sim/pp_sim_shared.cgh index 1f93eae4..993c2f36 100644 --- a/src/pp/pp_sim/pp_sim_shared.cgh +++ b/src/pp/pp_sim/pp_sim_shared.cgh @@ -11,7 +11,8 @@ #define S_TilesXMacro(X) \ X(Empty) \ - X(Floor) \ + X(Tile) \ + X(Carpet) \ X(Wall) \ /* -------------------- */ diff --git a/src/pp/pp_vis/pp_vis_core.c b/src/pp/pp_vis/pp_vis_core.c index feb631bc..0d8703b6 100644 --- a/src/pp/pp_vis/pp_vis_core.c +++ b/src/pp/pp_vis/pp_vis_core.c @@ -3171,6 +3171,8 @@ void V_TickForever(WaveLaneCtx *lane) params.target_ro = draw_target_ro; params.target_rw = draw_target_rw; params.xf = frame->xf; + + params.tick = frame->tick; params.seed = RandU64FromState(&frame->rand); params.pt_wrap_sampler = G_BasicPointWrapSampler(); @@ -3205,12 +3207,13 @@ void V_TickForever(WaveLaneCtx *lane) // Fill tile textures { - ResourceKey sheet_resource = ResourceKeyFromStore(&P_Resources, Lit("sprite/tiles.ase")); for (S_TileKind tile_kind = 0; tile_kind < S_TileKind_COUNT; ++tile_kind) { String tile_name = S_TileNameFromKind(tile_kind); + String sheet_name = StringF(frame->arena, "sprite/%F.ase", FmtString(tile_name)); + ResourceKey sheet_resource = ResourceKeyFromStore(&P_Resources, sheet_name); SPR_SheetKey sheet = SPR_SheetKeyFromResource(sheet_resource); - SPR_Slice tile_slice = SPR_SliceFromSheet(sheet, tile_name); + SPR_Slice tile_slice = SPR_SliceFromSheet(sheet, Lit("")); params.tile_slices[tile_kind] = tile_slice; } } diff --git a/src/pp/pp_vis/pp_vis_gpu.g b/src/pp/pp_vis/pp_vis_gpu.g index c1b1e8be..13077b73 100644 --- a/src/pp/pp_vis/pp_vis_gpu.g +++ b/src/pp/pp_vis/pp_vis_gpu.g @@ -79,7 +79,7 @@ ComputeShader2D(V_BackdropCS, 8, 8) { Vec4 result = Vec4(0.025, 0.025, 0.025, 1); Vec2 world_pos = mul(params.xf.ui_to_world, Vec3(ui_pos, 1)); - + Vec2 cell_pos = floor(mul(params.xf.world_to_cell, Vec3(world_pos, 1))); Vec2 tile_pos = mul(params.xf.world_to_tile, Vec3(world_pos, 1)); S_TileKind tile = tiles.Load(Vec3(tile_pos, 0)); @@ -149,22 +149,17 @@ ComputeShader2D(V_BackdropCS, 8, 8) { Vec4 outer = LinearFromSrgb(Vec4(0.05, 0.05, 0.05, 1)); Vec4 inner = LinearFromSrgb(Vec4(0.10, 0.10, 0.10, 1)); - // result = lerp(outer, inner, smoothstep(0, 1, tile_edge_dist / 0.375)); - result = lerp(outer, inner, smoothstep(0, 1, tile_edge_dist / 0.5)); + result = lerp(outer, inner, smoothstep(0, 1, tile_edge_dist / 0.375)); + // result = lerp(outer, inner, smoothstep(0, 1, tile_edge_dist / 0.5)); } else if (tile != S_TileKind_Empty) { SamplerState wrap_sampler = G_Dereference(params.pt_wrap_sampler); SPR_Slice slice = params.tile_slices[tile]; Texture2D tile_tex = G_Dereference(slice.tex); - Vec4 floor_col = tile_tex.Sample(wrap_sampler, world_pos); + Vec4 tile_col = tile_tex.Sample(wrap_sampler, world_pos); - // if (edge_tile == S_TileKind_Wall && tile_edge_dist < 0.05) - // { - // // floor_col.rgb *= 0.25; - // } - - result = floor_col; + result = tile_col; } // switch (tile) @@ -195,8 +190,6 @@ ComputeShader2D(V_BackdropCS, 8, 8) RWTexture2D cells = G_Dereference(params.cells); RWTexture2D drynesses = G_Dereference(params.drynesses); - Vec2 cell_pos = floor(mul(params.xf.world_to_cell, Vec3(world_pos, 1))); - Vec4 stain = stains.Load(cell_pos); Vec4 cell = cells.Load(cell_pos); f32 dryness = drynesses[cell_pos]; diff --git a/src/pp/pp_vis/pp_vis_shared.cgh b/src/pp/pp_vis/pp_vis_shared.cgh index d6b7f3f0..cc1e5c5f 100644 --- a/src/pp/pp_vis/pp_vis_shared.cgh +++ b/src/pp/pp_vis/pp_vis_shared.cgh @@ -64,6 +64,8 @@ Struct(V_GpuParams) G_Texture2DRef target_ro; G_RWTexture2DRef target_rw; V_Xforms xf; + + u64 tick; u64 seed; G_SamplerStateRef pt_wrap_sampler;