CARVIEW |
Navigation Menu
-
-
Notifications
You must be signed in to change notification settings - Fork 53
Releases: pygfx/pygfx
v0.12.0
15e3681
Compare
What's Changed
- Add option to ScreenCoordsCamera to invert y by @almarklein in #1092
- Ray tracing example by @panxinmiao in #1068
- Support texture transform by @panxinmiao in #999
Full Changelog: v0.11.0...v0.12.0
Assets 4
v0.11.0
869a9ef
Compare
What's Changed
Some more improvements related to camera and depth
- Camera with fov==0 does not move backwards when zooming out by @almarklein in #1090
- Set ruler's z-position closer to origin to avoid ruler disappearing when camera.depth is small by @almarklein in #1101
User-facing changes
- Drop Python 3.9 because its already broken, and bump CIs by @hmaarrfk in #1104
- Pass through worldobject parameters from Text Object by @hmaarrfk in #1102
- Promote the use of VolumeMipMaterial instead of the VolumeRayMaterial base class by @almarklein in #1107
Internal (and low-level) changes
- fix pre-computed tangents by @panxinmiao in #1088
- Uniform buffers can now handle vec3 and matnx3 by @almarklein in #1091
- Fix matnx3 fields in uniforms by @almarklein in #1094
- Migrate to
logger.warning
by @emmanuel-ferdman in #1098
New Contributors
- @emmanuel-ferdman made their first contribution in #1098
Full Changelog: v0.10.0...v0.11.0
Assets 4
v0.10.0
d7da7fa
Compare
What's Changed
Camera's and controllers
- Add
match_aspect
arg to camera.show_object() by @almarklein in #1051 - Change controller.add_camera so it does not change camera order by @almarklein in #1086
- add
Controller.pause
context manager by @kushalkolar in #1080 Camera.get_state()
returns new copy of the array instead of a view by @kushalkolar in #1076- Improvements to cameras by @almarklein in #1085
- Added
camera.depth
that gets automaticallet bycamera.show_()
methods. Can be manually set in cases where the depth is very different from width and height. - Avoid depth clip issues when zooming in by calculating depth range using
depth
.. - The
Ruler
no longer reports a bounding box, so that axii in the scene no longer breakcamera.show_object()
. - The OrthographicCamera no longer move in the view direction (typically z-axis) as it zooms. Note that a PerspectiveCamera with
fov==0
still does.
- Added
Rendering
- Add support for loops to line object by @almarklein in #1056
- Add LineInfSegmentMaterial for infinite lines by @almarklein in #1072
- Refactor engine's resolving of fragment shader output by @almarklein in #1053
- Fix pick info inheritance by @limdaepl in #1057
- Instanced lines by @limdaepl in #1058
Examples
- Create background subtraction example by @kingbedjed in #1067
- Example to compute histogram using a compute shader by @almarklein in #1063
Other
- Small cleanups for the CI pipeline by @berendkleinhaneveld in #1061
- Don't throw AttributeError when calling dict attributes by @berendkleinhaneveld in #1062
- Make the Store track hashable objects by value by @almarklein in #1066
- Properly implement
register_wgsl_loader
by @almarklein in #1083 - Increase upper bound to wgpu version by @almarklein in #1074
New Contributors
- @limdaepl made their first contribution in #1057
- @kingbedjed made their first contribution in #1067
Full Changelog: v0.9.0...v0.10.0
Assets 4
v0.9.0
84dd53e
Compare
API changes
The biggest change in the release is that we made the geometry
a simple object to contain buffers and textures. It does not have any methods, and you should probably not subclass it.
- Move Text API and implementation to Text world object by @almarklein in #1034
TextGeometry
andMultiTextGeometry
are gone. UseText
andMultiText
instead.- See #1034 for a small migration guide.
- Remove
get_bounding_box()
from geometry by @almarklein in #1042 - Make geometry a simple Store by @almarklein in #1044
Behavioral changes
- Change colormap interpolation to be consistent by @almarklein in #1025
New features
- Support marker rotation by @hmaarrfk in #1027
- Support for custom colormaps, and lazy loading by @almarklein in #1031
- Support “KHR_lights_punctual” by @panxinmiao in #1030
- Add Anisotropy support by @panxinmiao in #1037
- Add Sheen support by @panxinmiao in #1039
Other changes
- Allow wgpu 0.19 - 0.21 by @almarklein in #1043
- Improve tracking of bindings by @almarklein in #1026
- Unified mesh texture map logic and special treatment for colormaps by @panxinmiao in #1008
- Rename internal define_colormap() func for clarity by @almarklein in #1032
- Early exit in buffer/texture update_xx methods by @almarklein in #1033
- Refactor IBL related code by @panxinmiao in #1035
- Fix and enhance normal map and tangents by @panxinmiao in #1036
- Add back the text "dither" in the validation example by @hmaarrfk in #1040
- Fix test on windows by @almarklein in #1038
- No longer set the Bone object as invisible by default by @panxinmiao in #1041
- Fix morph on MacOS by @almarklein in #1046
- Small typo fix by @kevinyamauchi in #1050
Full Changelog: v0.8.0...v0.9.0
Assets 4
v0.8.0
1d85102
Compare
Summary
It's been a while, so quite a lot of changes! The gltf support has been improved a lot, the transform system has been optimized for performance, gamma
prop for image and volume materials, improved text rendering (inc. multi-text), faster clipping planes, and much more!
API changes
- Added
ImageBasicMaterial.gamma
andVolumeBasicMaterial.gamma
. - Added
PointsMarkerMaterial.edge_color_mode
. - Added
MeshPhysicalMaterial.iridescence
,.iridescence_ior
, and.iridescence_thickness_range
. - Added
MultiTextGeometry
andTextBlock
for efficiently handling multiple texts (e.g. labels). - Added
TextGeometry.max_width
,.paragraph_spacing
, added Markdown support for headers and bullets, and support for vertical text.
PRs merged
- Tweak caching of shadow pipeline by @almarklein in #935
- Implement GLTFCubicSplineInterpolant by @panxinmiao in #936
- Refactor environment and pipeline by @almarklein in #912
- Add MeshPhysicalMaterial with Clearcoat, Specular, and IOR Support by @panxinmiao in #908
- Associate pipeline-container also with Material by @almarklein in #939
- Add
package_name
as an argument forload_wgsl
by @m-agour in #943 - Fix ior & specular not work correctly by @panxinmiao in #942
- Refactor the plugin extension mechanism of the glTF loader by @panxinmiao in #940
- Cache camera matrices by @Korijn in #945
- Fix CI by pinning trimesh by @almarklein in #952
- Tweak some docstrings by @almarklein in #949
- Optimize last_modified tracking by @Korijn in #950
- Refactor to have a single scene traverse in the renderer by @almarklein in #953
- Tweak the method names that update world objects by @almarklein in #955
- Make
bind_matrix
a read-only property, and clean upnp.linalg.inv
. by @panxinmiao in #948 - Auto update skeleton and skeleton_helper by @panxinmiao in #894
- decrease minimum version of imgui-bundle by @hmaarrfk in #958
- Add more details on drivers in install instructions by @almarklein in #959
- add gamma to image and volume by @tlambert03 in #957
- Add typing to
objects._base
by @tlambert03 in #960 - 🚀 RecursiveTransform optimization by @Korijn in #963
- Add typing to Geometry and Material by @tlambert03 in #961
- Update CI badge by @Korijn in #964
- ⚡ Micro optimization by @Korijn in #965
- ⚡⚡ Micro-optimized flag_update again by @Korijn in #969
- Improve z fighting control for text by @hmaarrfk in #968
- Add support for edge_colors on a per vertex for Points by @hmaarrfk in #970
- Provide a path for end users to register their own blenders by @hmaarrfk in #966
- Add slots to transform objects by @Korijn in #971
- Reduce intermediate array usage in Transform by @Korijn in #973
- Set writeable false in appropriate places, clean up a few computations by @Korijn in #977
- Fix typo in guide.rst by @boisgera in #983
- No need to divide by the length of a unit vector in grid by @hmaarrfk in #984
- Add Iridescence support to MeshPhysicalMaterial by @panxinmiao in #980
- Components setter & animation optimization by @Korijn in #978
- Stabilize ruler step calculation to avoid grid flicker by @almarklein in #986
- Colormap clamp by @almarklein in #987
- Improve performance of wobject.world.position by @Korijn in #988
- Add glTF Extension: "KHR_materials_emissive_strength" by @panxinmiao in #994
- Use correct diffuse color by @panxinmiao in #991
- Fix clearcoat_roughness_map channel by @panxinmiao in #997
- Micro optimize video decoding by @hmaarrfk in #993
- Generate mipmaps using RenderPipline and linear interpolation downsampling by @panxinmiao in #995
- Add "KHR_materials_unlit" support by @panxinmiao in #1004
- Multitext and text refactoring by @almarklein in #834
- Update gitignore by @panxinmiao in #1009
- Text performance tweaks by @almarklein in #1006
- Use single buffer to store per-glyph data by @almarklein in #1010
- Fix waterfall example by @almarklein in #1012
- Refactor punctual light shading code by @panxinmiao in #1016
- Prevent glyphs from bleeding into neighbours in atlas by @almarklein in #1014
- Fix for latest trimesh by @almarklein in #1017
- Fix TransformGizmo.set_object when object is
None
by @schlegelp in #1020 - Add image comparator example by @hmaarrfk in #1019
- Improve clipping planes by @panxinmiao in #1022
- fix two bugs in atlas allocator by @hmaarrfk in #1021
- Ruler use multitext by @almarklein in #1018
- Bump version by @almarklein in #1023
New Contributors
Full Changelog: v0.7.0...v0.8.0
Assets 4
v0.7.0
26e4965
Compare
What's Changed
- Support for loading Open3D triangle meshes, materials and pointclouds into pygfx by @cansik in #885
- Lint Ruff 0.8.0 and bump imgui-bundle version to match wgpu-py by @claydugo in #890
- Add SAM2 point segmentation example by @claydugo in #876
- implement suggested improvements listed in issue343 by @zetyquickly in #887
- an example of how YUV colorspace can be implemented by @hmaarrfk in #873
- Add internal util to easily check arg types by @almarklein in #897
- Fix that send_data could not set multiple layers at once by @almarklein in #898
- Add an example of a tiny image -- 1x1 pixel by @hmaarrfk in #900
- Enable using rendercanvas by @almarklein in #899
- Fix roughness by @panxinmiao in #903
- Implement a dither blend mode by @almarklein in #902
- Animation mixer by @panxinmiao in #892
- Implement colorspace tex-srgb by @almarklein in #906
- Introduce TextureMap by @panxinmiao in #889
- Bump pylinalg by @Korijn in #915
- Ensure Transforms are evaluated lazily by @Korijn in #911
- Default TextureMap settting by @panxinmiao in #918
- Base AffineTransform state on position/scale/rotation instead of matrix by @Korijn in #916
- Add state_basis option to AffineTransform to toggle between position/scale/rotation or matrix as basis of state by @Korijn in #920
- Improve TextureMap docs by @almarklein in #924
- Bump pylinalg and use mat_has_shear by @Korijn in #927
- Print out the jijna'ed WGSL code to help debug by @hmaarrfk in #917
- Matrix inverse by @panxinmiao in #919
- Support taking hirez screenshots by @almarklein in #909
- Bump pylinalg & ruff format by @Korijn in #931
- Add Remote URL Support to glTF loader by @panxinmiao in #895
- Fix the issue where stopping an AnimationAction did not restore the target to its initial state. by @panxinmiao in #933
- Bump version by @almarklein in #934
New Contributors
- @zetyquickly made their first contribution in #887
Full Changelog: v0.6.0...v0.7.0
Assets 4
v0.6.0
8cba02a
Compare
What's Changed
- Implement set_wgpu_limits by @almarklein in #860
- Use pyproject.toml and ruff by @almarklein in #859
- Get a longer version string on dev installs by @almarklein in #861
- Do not mix stdout and stderr in version detection by @hmaarrfk in #862
- KeyframeTrack and Interpolants by @panxinmiao in #756
- Fix install of mesa drivers by @almarklein in #869
- Tweak _version.py a little by @almarklein in #870
- Allow turning features off by @almarklein in #868
- Add labelled image grid example by @claydugo in #867
- add intersphinx to docs by @kushalkolar in #871
- Implement texture/buffer send_data() by @almarklein in #879
- Tweaks to readme and docs by @almarklein in #880
- Fix that image shader was not invalided when map is set to None by @almarklein in #884
- Adjust to new wgpu-py by @almarklein in #878
- Bump version by @almarklein in #886
New Contributors
Full Changelog: v0.5.0...v0.6.0
Assets 4
v0.5.0
f331d1e
Compare
What's Changed
- Use default min_binding_size by @almarklein in #856
- Allow users to customize which edge of the SDF is painted by @hmaarrfk in #824
- Use vstack and not row_stack by @hmaarrfk in #857
- Add morph targets support. by @panxinmiao in #751
- A more perfect SDF for the pin by @hmaarrfk in #837
- Provide tools to debug SDFs by @hmaarrfk in #823
- Improve Skeleton's transform performance by @panxinmiao in #746
Full Changelog: v0.4.1...v0.5.0
Assets 4
v0.4.1
2b23ee8
Compare
What's Changed
- fix typo in test suite comment by @hmaarrfk in #849
- Enhance and fix materials by @panxinmiao in #850
- Fix binding layout by @panxinmiao in #852
- Use new repo of gltf assets by @almarklein in #854
Full Changelog: v0.4.0...v0.4.1
Assets 4
v0.4.0
1a24d0b
Compare
What's Changed
- Improve spelling for render_mask in blender.py by @hmaarrfk in #801
- Remove unreachable return value by @hmaarrfk in #802
- Refactor mesh shading code by @panxinmiao in #800
- nit: ensure that pos_offset_x is always defined even if mistake by dev by @hmaarrfk in #805
- Sdf clipping planes by @hmaarrfk in #804
- Add the name property to more objects by @hmaarrfk in #807
- Add Ruler object by @almarklein in #787
- Fix that wgpu-py requires a blend-dict now by @almarklein in #816
- Fixed that dashing was not applied to thin lines by @almarklein in #811
- Cleanup the point shader to enable people to better customize it by @hmaarrfk in #822
- Example to demo differences between the image shader and mesh by @hmaarrfk in #820
- Allow a minimum number of fonts to always be cache by @hmaarrfk in #817
- Custom point marker SDF enabling logo insertion by @hmaarrfk in #789
- unproject to get range of screen space to set rulers by @kushalkolar in #814
- Buffer chunking and more by @almarklein in #795
- Fix pointer down interaction in stent demo volume_render1 by @hmaarrfk in #826
- Fix infgrid artifacts for ortho camera by @almarklein in #829
- Update internal usage of buffers and textures by @almarklein in #828
- Improve support for custom tick formatting by @almarklein in #831
- Small change in spelling by @almarklein in #833
- Improve local testing by @hmaarrfk in #827
- Fix pick_write not really being dynamic by @almarklein in #842
- Update to latest and upcoming wgpu-py by @almarklein in #848
- Add MeshToonMaterial by @panxinmiao in #803
Full Changelog: v0.3.0...v0.4.0