diff --git a/src/client/render/gl/render-settings.json b/src/client/render/gl/render-settings.json index 76e0d27a8..c3c4e1269 100644 --- a/src/client/render/gl/render-settings.json +++ b/src/client/render/gl/render-settings.json @@ -134,7 +134,7 @@ "iconFill": 0.85 }, "Factory": { - "scale": 1, + "scale": 1.08, "iconFill": 0.85 }, "Defense Post": { diff --git a/src/client/render/gl/shaders/structure/structure.frag.glsl b/src/client/render/gl/shaders/structure/structure.frag.glsl index f8bc39fef..287fa424b 100644 --- a/src/client/render/gl/shaders/structure/structure.frag.glsl +++ b/src/client/render/gl/shaders/structure/structure.frag.glsl @@ -64,10 +64,12 @@ float sdPolygon(vec2 p, float R, float n, float rot) { // Per-structure-type shape SDF. // Atlas indices: 0=City, 1=Port, 2=Factory, 3=DefensePost, 4=SAM, 5=Silo float shapeSDF(vec2 p, float R) { - if (vAtlasIdx < 0.5 || (vAtlasIdx > 1.5 && vAtlasIdx < 2.5)) - return length(p) - R; // City / Factory → circle + if (vAtlasIdx < 0.5) + return length(p) - R; // City → circle if (vAtlasIdx < 1.5) return sdPolygon(p, R, 5.0, PI * 0.5); // Port → pentagon (vertex up) + if (vAtlasIdx < 2.5) + return sdPolygon(p, R, 6.0, PI / 6.0); // Factory → hexagon (flat top) if (vAtlasIdx < 3.5) return sdPolygon(p, R, 8.0, 0.0); // Defense Post → octagon (flat top) if (vAtlasIdx < 4.5)