lordmauve / wasabi2d

Cutting-edge 2D game framework for Python
https://wasabi2d.readthedocs.io/
GNU Lesser General Public License v3.0
154 stars 24 forks source link

A possible issue with line rendering / geometry shading when line spans +/- space #38

Closed dirkesquire closed 4 years ago

dirkesquire commented 4 years ago

box-issue

yellow box is in negative quadrant and renders fine green box is in positive quadrant and renders fine white box spans from (-50, -50) to (50, 50) and looks odd. The following is a code snippet one can play with and demonstate the issue:

import sys
import wasabi2d as w2d
from wasabi2d.keyboard import keys

scene = w2d.Scene(background="#223366")

# centre = scene.width // 2, scene.height // 2
centre = (0, 0)
scene.camera.pos = centre

speedlabel = scene.layers[0].add_label(
    f"{centre}",
    pos=centre,
)

# Renders OK
origin = -200
extent = -5
boundary = scene.layers[0].add_line(
    [(origin, origin), (extent, origin), (extent, extent), (origin, extent), (origin, origin)],
    color="yellow",
    stroke_width=2
)

# Renders Oddly
origin = -50
extent = 50
boundary = scene.layers[0].add_line(
    [(origin, origin), (extent, origin), (extent, extent), (origin, extent), (origin, origin)],
    color="white",
    stroke_width=2
)

# Renders OK
origin = 5
extent = 200
boundary = scene.layers[0].add_line(
    [(origin, origin), (extent, origin), (extent, extent), (origin, extent), (origin, origin)],
    color="green",
    stroke_width=2
)

@w2d.event
def on_key_down(key):
    if key == keys.Q:             # Quit
        sys.exit(0)

w2d.run()
lordmauve commented 4 years ago

Fixed in 71b7421