Skip to content

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

@task-h

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions