Part of the challenge of migrating to 3D graphics pipeline (i.e. WebGPU) is that the amount of required mathematical calculations increases. Affine transformations and potentially the use of quanternion may result in performance challenges. Consider leveraging either a Rust binding or compute shader for matrix and vector operations.
Tasks
[ ] Implement Affine Transformations in Python.
[ ] Review Rust Implementation
[ ] Evaluate the viability of using compute shaders.
Python Transformation Pipeline
The transformation components are based on the following protocols:
Ray
Point
Vertex
BBox
AABBox
Vector
Matrix
Quanternion
A matrix can be applied to: Point | Vertex | BBox | AABBox | Vector | Matrix.
A quanternion can be applied to: Point | Vertex | BBox | AABBox | Vector | Matrix
Part of the challenge of migrating to 3D graphics pipeline (i.e. WebGPU) is that the amount of required mathematical calculations increases. Affine transformations and potentially the use of quanternion may result in performance challenges. Consider leveraging either a Rust binding or compute shader for matrix and vector operations.
Tasks
Rust Implementations
Compute Shaders
Python Transformation Pipeline The transformation components are based on the following protocols:
A matrix can be applied to: Point | Vertex | BBox | AABBox | Vector | Matrix. A quanternion can be applied to: Point | Vertex | BBox | AABBox | Vector | Matrix