GPU support is currently provided by a single
This file can be pasted at the start of a shader to provide limited functionality supported by the
full C++ Klein library. The
kln_motor entity structs defined
in this shader header are byte-for-byte identical to their C++ counterparts.
Currently, the following functions are supported:
||Multiplies two rotors and returns the result|
||Multiplies two translators and returns the result|
||Multiplies two motors and returns the result|
||Applies a rotor to a plane|
||Applies a motor to a plane|
||Applies a rotor to a point|
||Applies a motor to a point|
||Applies a motor to the origin|
GPU support is verified with a C++ test suite powered by a shim to handle vector swizzle operations and provide implementations for GLSL built-in functions. GPU support is currently preliminary and achieving parity with seamless interoperability with the Klein C++ headers is an ongoing objective.