-
Notifications
You must be signed in to change notification settings - Fork 29
Version history
- Enhancements related to #139
-
rotate
,translate
andscale
no longer require an input matrix - Added support for matrix initialization from quaternions (
mat3
,mat4
) - Added support for iterable arguments for
min
andmax
- Added support for homogenous multiplication (#140)
-
- Improved performance comparison (#144)
- Allowing for C contiguity in matrix initialization from buffers (#138)
- Fixed a bug where NxM buffers would be interpreted as MxN matrices
- Fixed a few other bugs (2dd31f3)
- Added bitwise operators to int vec types (#135)
- Added invert operator
- Added bitwise-and operator
- Added bitwise-or operator
- Added bitwise-xor operator
- Added lshift operator
- Added rshift operator
- Improved array sorting algorithm
- Fixed CodeQL alerts
- Fixed Python 3.10 incompatibility
- Added
to_bytes()
andfrom_bytes()
methods to all types (#130) - Added
reinterpret_cast()
method to arrays
- Fixed a bug in
pickMatrix()
, where thecenter
argument was validated instead of thedelta
argument (#127)
(Fix authored by @benraziel )
- Added
split_components()
andreduce()
methods to the array type (#123)
Changes authored by @obiwac
- Improved array_getbuffer compatibility with different flags.
- Fixed array initialization from non fortran-contiguous matrix buffers.
- Added option for custom diagonal matrix elements (#120)
- Removed checks for strides in mat_getbuffer and checks for non-fortran-contiguity in the remaining getbuffer methods. (#61)
(See changes below)
- Fixed buffer type-checking.
-
Improved names and map
- Improved name getter routine for repr() functions
- Added
ctype
keyword argument to map() function
-
Added rotate_vector extension ( #114 )
- Added
rotateX
,rotateY
,rotateZ
andorientation
function. - Extended
rotate
andslerp
functions.
- Added
-
Small fixes
- Added missing boolean operators for bvecs ( #111 )
- Added missing vector_relational documentation
- Added many features to arrays
- Fixed the way matrices are printed
- Fixed the buffer protocol for matrices and arrays
- Improved documentation
- And much more
- Updated documentation (#26)
- Fixed mvec functions (#96)
- Added
setSeed()
function (#97) - Added support for GLM_GTX_matrix_transform_2d extension (#98)
- Added support for numeric datatypes to arrays
- Updated PyGLM vs NumPy comparison
- Using pytest to test now
Added support for pickling (#91)
Added support for setattr scalars (#89)
- Added
hash()
function support - Added
@
(matmul) operator - Fixed number checker
- Updated Traivs-CI script
And a few minor changes
Fixed missing number object conversion functionality that allows PyGLM to use non-standard number types, such as numpy.float32 (#84).
PyGLM is now (fully) compatible with lists / tuples or buffer protocol types, such as NumPy's arrays. Performance is slightly touched due to these measures - sometimes in a good and sometimes in a bad way.
- Added array type Specifically setting the locale to english now ( #73 ) Fixed quaternion order (#77) Should fix #75
- Updated docs + fixes
- Fixed type checker issue with quats interpreted as vecs
- Added quat conversion constructor
- Added and improved wiki and README Update .travis.yml (#81)
- Updated type checker format types
- Updated README
- Added norm, fixed div/0
- Added the norm extension ( #63 )
- Fixed #65 for types ~ Moved silence to warnings.h ~ Fixed a few minor issues
- Added decompose extension #68 is done
- Fixed clamp, min and max for int types Fixed #66 Temporary workaround / fix for g-truc/glm#1009
- Improved setattr for vec types Should fix #67
- Updated tests Should fix #70 (thanks to @aforren1)
This should / might / could automatically upload the releases to the PyPI
- Organized File Structure (and fixes) Moved PyGLM's code to it's own files. Also fixed #60 And fixed #61
- [for gcc] Added newlines (+ a few fixes)
- [for gcc] Added include for forward_declatations
- Using ifndef guards (gcc is broken)
- fix (gcc is still broken)
- Update PyGLM.cpp
- Added to_list and to_tuple functionality Every type can now be converted to a list / tuple using their to_list and to_tuple functions
- Fixed dquat to_list and to_tuple Also added tests Build wheel Win, Linux, and Mac using Travic CI (#59)
Typo fixes for item assignment in vec4 and mvec4. (#55) z was used for the 3rd index in both cases, rather than w.
Fixed typecodes for vector buffer protocol Improved buffer protocol tests Update to GLM v0.9.9.7
- removed GLM_LICENSE from MANIFEST.in
- Updated licenses
- Added the license information as 'license' in PyGLM
- Switched to the unmodified MIT license in COPYING
- Removed GLM_LICENSE
- Updated tests added check for version and license
- Added support for polar_coordinates
- Switched from RML to SlashBack
Fixed invalid license title
Fixed vec3 constructor (#44) Fixed #43
Update .travis.yml Update PyGLM_test.py Fixed Vec type checking Should fix #43
- Added support for copy and deepcopy from the copy module.
Updated README
Fixed and silenced a few warnings Fixed a few Warnings Entered "Stable" status Updated README Quickfix
Fixed big performance loss due to GetBuffer checking
- Added support for all stable extensions
- Using glm as gtc and detail namespaces now. Waiting for fix of several glm issues
- Better tests and some fixes The test suite now tests every one of PyGLM's functions. A bunch of errors were fixed along the way. Updated README Should fix #35
- Added support for PyObject_GetBuffer in the unpack functions
- Added different print-strings for repr
- Types display correctly now
- Now using pythonic "." namespace separators instead of "::"
Fixed the macro generator function for (mat4x4, vec3). Fixed #17
- Added travis file
- Update PyGLM_test.py Now forcing type initialization to avoid types not being uninitialized by accident.
- Added support for double, int64, int32, int16, int8, uint64, uint32, uint16, uint8 and bool datatypes. (in the process, all functions were rewritten, so some might not work correctly)
- Added glm.silence() function
- Updated README
- Changed frexp behaviour
- Fixes #27 Plus a few other changes.
fix building with clang (#30) fixes #29 fixed frexp and ldexp Should resolve #31 Also updated to latest glm version
- func_packing
- func_integer Added support for minimal version Updated to glm 0.9.9.5
- Added frexp, ldexp
- removed glm/gtx
- added identity
- added make_mat* functions
- added quatLookAt* functions
- setup.py now checks compatibility
- updated a few docs and licenses
PyGLM was completely rewritten in C++ to provide actual bindings for glm's types and functions. Therefore support for Python 2, 3.3 and 3.4 had to be dropped, because glm requires C++11 or higher.
Fixed #23
Fixed #22
Fixed #20
Fixed wrong not equal comparison behavior Changed MIT license to zlib/libpng
- Added the Happy Bunny License for GLM_LICENSE and COPYING
- Added additional Info in the value_ptr() description
- Fixed fma() description
- Fixed conjugate()
- Fixed tquat.__mul__()
- Fixed tquat missing CHECKTYPES flag
- Fixed sizeof() missing for tquat
- Fixed divmod memory leaks (from #6 )
- Fixed tvec4(tvec4) initialization
- Fixed grad4
- Fixed 3D-simplex noise
- Fixed angleAxis (METH_O -> METH_VARARGS)
- Corrected glm.fma() description
- (other minor fixes)
- Fixed translate() function ( #17 ) Fixes and improvements
fix error message in scale()/scale_slow() (#15)
- Fixed #16
- Fixed most of #6
- Removed old unpacking behaviour
- INCREF and DECREF col_type and row_type of tmatn
- Fixed tmat2x2's __repr__ and __str__ functions.
- Changed *.__str__() output
- Replaced temporary pointers with temporary objects
- Improved unary functions
- Fixed a few memory leaks from #6
- Fixed a typo
- Changed development status to BETA
- Uncommented a lot of now unused internal functions.
- Self-advertisement
- Added sizeof to gtc namespace
- Switched tmatn's str and repr functions.
- Fixed a typo
- Added glm.sizeof(x)
- Fixed wrong row_types
- Removed unnecessary calls in internal pack_* functions (subissue of #6 )
- Fixed tmatn's iadd and isub functions for Python 2
- Created a new README syntax "readmelang" (.rml), which can be converted to RestructuredText and Markdown
- Updated README
Py_BuildValue incr ref count for 'O' specifier, we need to decrease it after use add Py_TPFLAGS_CHECKTYPES to each PyTypeObject, it's required for python 2.7 else binary ops with different type raise a TypeError
- Now using NotImplemented instead of calling the right-side function
- Checking for Int type
- Setup files
Get an attribute name is different with python2, this fix a segfault when attempting to get/set an attribute like a = vec2(); a.x with python 2.7
- Fixed #7 .
- Fixed tmatn.__imul__ and tmatn.__i[true]div__ crashing with tvecn as argument.
- Fixed a couple of memory leaks from #6 .
PyGLM has been completely rewritten in C.
Fixed a bunch of errors (thanks to pyLint) Went back to numpy instead of trying to improve performance using cython.
- epsilon, functions, noise, reciprocal, type_ptr (should allow for #1 to be solved)
- type_float, type_int (maybe re-add them later) whoopsie.. I accidentally trashed matrix getitem() functionality
Some small performance enhancements for quaternion.
- fixed matrix rotation
- updated README
Now all of glm's detail is using numpy Fixed some python 2/3 compatibility issues
- one very small quaternion performance enhancement
First pure Python version. Very limited featureset.