Skip to content

stroke_join() has no effect in the Vispy renderer #479

Description

@task-h

Describe the bug

stroke_join() produces identical output for MITER, BEVEL, and ROUND when using the default Vispy renderer. stroke_cap() works correctly on the same renderer, and stroke_join() works correctly with run(renderer='skia').

To Reproduce

from p5 import *

def setup():
    size(800, 600)

def draw():
    stroke_weight(25)

    stroke_join(MITER)
    rect(20, 20, 200, 100)

    stroke_join(ROUND)
    rect(500, 100, 200, 400)

    stroke_join(BEVEL)
    rect(100, 200, 300, 300)

run()

All three rectangles render with identical corners.

Expected behavior

The three rectangles should have mitered, rounded, and beveled corners respectively.

Screenshots

Image

System information:

  • p5 release (version number or latest commit): 0.8.4
  • Python version: 3.10.20
  • Operating system: Windows 11 25H2

Additional context

Confirmed to also affect triangle(), quad(), and begin_shape()/end_shape() outlines. Not observed with run(renderer='skia').

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions