
On Tue, Mar 31, 2009 at 10:25 PM, Patrick Mihelich <patrick.mihelich@gmail.com> wrote:
IMO the abstraction provided by a template <typename T,size_t Rows,size_t Cols> class matrix is unnecessary and will only get in the way for computer graphics applications. I've seen several attempts like this at generalizing matrices for game engine use getting scrapped and refactored to a more traditional set of types (not templates) and functions (this doesn't mean that such generalizations are not appropriate in general.)
And maybe it's not surprising that these attempts failed. It's not that easy to get the generalization exactly right. In a production environment it makes sense to just write some ad-hoc types rather than spend months on the perfect matrix class;
There is no such thing as the perfect matrix class. Also, there is no such thing as the perfect fixed size matrix class. Matrices are great generalization in mathematics; for programming, you need to start with the intended application.
Anyway I personally could care less about computer graphics, fixed-size matrices are also useful in computer vision, robotics, and no doubt other domains.
Maybe so, I don't have that much experience in those fields. What prompted my response was that realtime computer graphics was stated as one of the intended applications. In my opinion a different, less abstract interface would be more appropriate there. Emil Dotchevski Reverge Studios, Inc. http://www.revergestudios.com/reblog/index.php?n=ReCode