Releases: tipam/pi3d
Several fixes for PointText and bump shaders with orthographic camera
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.
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
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
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
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
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
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
removed need for glxinfo and better catching for x11 available but not running
Cope with new GL driver. X11 window name. Billboard function
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
Display change layer in conjunction with resize better. Bigger fonts
Improvement: Display.change_layer() function added and the layer ref held in Display instance. This allows Display.resize() to work correctly. Font now has grid_size argument to allow a smaller number of larger format characters.