visgl / visgl/deck.gl

[Feat] Support for Beveled Edges (Border Radius) on Extruded Polygons

Open
#9,250 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature
Dominant language
TypeScript
Stars
14.6k
Forks
2.3k
Avg merge
2d 9h
Merged PRs (30d)
42

Description

Target Use Case

In many urban visualization and 3D mapping applications, rendering extruded polygons to represent buildings or other structures results in sharp, angular edges. A bevel or rounded edge (border radius) feature would allow these extruded polygons to have smoother, more realistic-looking corners, enhancing the visual appeal and providing more immersive and aesthetically pleasing 3D maps.

Proposal

Extend the PolygonLayer/SolidPolygonLayer to support an optional "bevel" property for extruded polygons. This property would allow users to specify a border radius for each polygon, creating a smooth transition at the edges and corners of the extrusion. All edges, except those touching the ground plane, should be rounded to ensure realistic top and vertical edges while maintaining sharp, well-defined base edges. Implementation would involve adjusting the extrusion vertices and faces to accommodate curved edges while maintaining performance. Ideally, users could set the bevel radius either as a fixed value for uniformity or as a variable (Accessor), allowing customization per building or polygon based on specific needs. This feature could be exposed as a new property (bevelRadius) that accepts numeric input and adjusts the level of edge rounding accordingly.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the PolygonLayer and SolidPolygonLayer implementations and their extrusion geometry generation. Review how vertices and faces are built, then determine how an optional bevelRadius, including accessor-based values, can round non-ground edges while preserving performance. Done means extruded polygons support the proposed fixed and variable bevel behavior with the base edges remaining sharp.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
computer-graphics, data-visualization
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.