Skip to content

Releases: tipam/pi3d

v2.54

08 Mar 09:02
Compare
Choose a tag to compare

v2.54 2025-03-07 Improvement: Mouse pointer locations for X11 and SDL2 have been harmonized. Thanks to @lkesteloot. Keyboard also returns more constant info. This latter might be a breaking change if Keyboard.read_code() used.
Bug fix: Texture._normal_map() previously assigned to item in tuple which is not allowed.

v2.53 2025-02-04 Bug fix: SDL2 uses SDL_WINDOW_BORDERLESS flag if pi3d.DISPLAY_CONFIG_NO_FRAME has been included in Display.create argument display_config. *.png added in project.toml

v2.52 2024-10-13 Bug fix: SDL2 uses FULLSCREEN_DESKTOP flag to allow wlr-randr to blank the screen without killing the process

v2.51 2023-11-01 Improvement: option to use SDL2 for the windowing and event (keyboard, mouse) input this needs pysdl2 to be installed. Display.create(...use_sdl2=True)

v2.50 2023-09-26 Bug fix: Points previously comparing np array with empty list, deprecated now errors found by @Home-Control9000 and @joshstir

v2.49 2021-10-26 Bug fix: FixedString width not using Display.opengl.max_texture_size.value found by @jeffalperin

v2.48 2021-10-01 Bug fix: Slice index for triangles wrong found by @chatcoda

v2.47 2021-08-29 Bug fix: conway vertex shader has -0.5 pixel adjustment over width and height. All shaders use highp precision.
Improvements: mac setup sorted out thanks to @helgeerbe

v2.46 2021-07-03 Bug fix: Resizing Textures when image dimensions were greater than max_size was incorrect (typo and missing functionality)

v2.45 2021-04-30 Improvement: Found that texture widths can be any multiple of four up to GL_MAX_TEXTURE_SIZE

v2.44 2021-03-30 Improvement: FixedString wrapping on pixel widths for accurate fitting on screen

v2.43 2021-03-06 Bug fix: glGetError message cleaned up. Missing dependencies in setup.py
Improvement: PointText wrapping on pixel widths for accurate fitting on screen

Several fixes for PointText and bump shaders with orthographic camera

09 Feb 22:56
Compare
Choose a tag to compare

v2.42 Bug fix: bump shaders work with orthographic cameras, integer division in find devices corrected to //. Alpha value for discarding fragments reduced to 1 part in 255 to avoid 'edges'

v2.412020-12-04 Bug fix: PointText now copes with multi-line strings and can insert new lines at a given width

v2.40 2020-12-02 Bug fix: PointText needs to write over previous characters if the string reduces in length (set uv to [0.0, 0.0])

v2.39 2020-12-01 Bug fix: PointText checks if char in Font rather than crashing as it did previously.

v2.38 2020-08-28 Bug fix: Display.destroy() now doesn't get in a tangle trying to free OpenGL textures, programs, buffers (i.e. it actually completes) Improvement: masked_screenshot() can grab pixels from a rectangle of the screen as a numpy array.

Fix elg import breaking Windows. Slice primative produces sector or circle.

28 May 08:18
Compare
Choose a tag to compare

Bug fix: clear Texture.file_string as well as image if free_after_load is set True. Also import of egl that was dragging in xlib functions and stopped pi3d working on windows.

Improvement: Slice primitive in pi3d/shape which is like a slice of a pie-chart. If colours specified with rgb values greater than 1.0 they are treated as u8 0-255 values.

Bug fix broken screen capture

28 May 08:15
Compare
Choose a tag to compare

Bug fix: screen capture utility was incorrectly left in the form used for debugging the distance texture mod. Also the general use of logging.info() has been switched to logging.debug()

OffscreenTexture saves distance texture. PolygonLines

28 May 08:13
Compare
Choose a tag to compare

Improvement: OffscreenTexture saves distance texture as well as colour which works on RPi4 and bigger computers but old versions have to use Blur_legacy.py technique. Shader.create() checks for existing instances of shaders with same name so saves recompiling on complicated set-ups. PolygonLines creates lines from triangles giving neater ends and corners. Reduced wildcard imports.

Bug fix: display picks up non-default :0 on some ubuntu.

Bug fix to minimise breaking changes in pi3d_demos

28 May 08:10
Compare
Choose a tag to compare

Bug fix: move the changes in fragment shaders into the include file in pi3d so minimise breaking shaders in pi3d_demos.

X window transparent background modify shaders to GL num

28 May 08:09
Compare
Choose a tag to compare

Improvement: use_glx argument for Display.create() allows X windows to have transparent backgrounds. EGL function call arguments and return types have been made more explicit. The shaders now have a mechanism to convert the code into a form compatible with GL2.1, GLES2.0 and GLES3.0 Display.create() detects the OpenGL/ES type and version and saves this in Display.opengl.gl_id This will probably be the last v2 release. v3 will use SDL2 as the default window system rather than X directly. bcm will still be enabled for Raspberry Pi without X desktop running.

Points and lines fixed on Raspberry Pi 4

22 Jul 14:41
Compare
Choose a tag to compare

Bug fix: points and lines now render on RPi4 along with utilities that relied on this.
Improvement: The setting of the front face of the polygons to be defined as clockwise now makes it clearer that the backs of faces are culled by default. Also the OpenGL function call arguments have been explicitly made using ctypes aliases to avoid confusion.

removed dependency on mesa-utils

25 Jun 12:23
Compare
Choose a tag to compare

removed need for glxinfo and better catching for x11 available but not running

Cope with new GL driver. X11 window name. Billboard function

24 Jun 20:21
Compare
Choose a tag to compare

Bug fix: New version of Raspbian no longer supports broadcom bcm_host GL driver which is now detected and correct drivers loaded.
Improvement: x11 window name facility added. Billboard functionality added to MergeShape