Skip to content

Commit 0b88917

Browse files
committed
Fix 3DGS holes
1 parent aa2001f commit 0b88917

2 files changed

Lines changed: 4 additions & 9 deletions

File tree

src/rendering/rasterizer/vulkan/shader/src/slang/config.slang

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -65,13 +65,8 @@
6565
#define MAX_RAW_SCALE 20.0f
6666

6767
// subtile culling in rasterization
68-
#if TILE_HEIGHT >= 16 && TILE_WIDTH >= 16
69-
#define SUBTILE_HEIGHT 4
70-
#define SUBTILE_WIDTH 8
71-
#else
72-
#define SUBTILE_HEIGHT 0
73-
#define SUBTILE_WIDTH 0
74-
#endif
68+
#define SUBTILE_HEIGHT 0
69+
#define SUBTILE_WIDTH 0
7570
#define SUBTILE_SIZE (SUBTILE_HEIGHT*SUBTILE_WIDTH)
7671

7772

src/rendering/rasterizer/vulkan/shader/src/slang/utils.slang

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -983,8 +983,8 @@ float2 ellipse_range_bound(
983983
float bv0 = -b*v0, bv1 = -b*v1;
984984

985985
float inv_a = 1.0f / a;
986-
float x0 = inv_a * (bv0 - sqrt(bv0*bv0 - a*(c*v0*v0-1.f)));
987-
float x1 = inv_a * (bv1 + sqrt(bv1*bv1 - a*(c*v1*v1-1.f)));
986+
float x0 = inv_a * (bv0 - sqrt(max(bv0*bv0 - a*(c*v0*v0-1.f), 0.0f)));
987+
float x1 = inv_a * (bv1 + sqrt(max(bv1*bv1 - a*(c*v1*v1-1.f), 0.0f)));
988988

989989
return float2(x0, x1);
990990

0 commit comments

Comments
 (0)