CML

Free and open source configurable math library
Download

CML Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Freeware
  • Price:
  • FREE
  • Publisher Name:
  • Jesse Anders and Demian Nave
  • Publisher web site:
  • http://www.cmldev.net/
  • Operating Systems:
  • Mac OS X
  • File Size:
  • 183 KB

CML Tags


CML Description

Free and open source configurable math library CML is a C++ math library designed for use in games, graphics, computational geometry, and related applications. CML includes quaternion, matrix and classes, and a large library of functions for manipulation of these types.The purpose of the CML is simply to offer an additional alternative for developers in need of a math library. In particular it can be used as an extension to an existing math library, in lieu of or as an extension to the DirectX math library, or as a drop-in solution for OpenGL-based applications.NOTE: CML is licensed and distributed under the terms of the Other/Proprietary License. Here are some key features of "CML": · Classes for vectors, matrices, and quaternions · Vectors and matrices of arbitrary size (fixed or dynamically resizable) · Choice of element type for each class · Choice of row- or column-major matrix layout · Support for both row- and column-vector notation · Choice of standard or ‘reverse’ quaternion multiplication order · Conversions between quaternions, matrices, axis-angle pairs, and Euler angles · Support for all Euler angle orders (xyz, xyx, etc.) · Conversions between polar, cylindrical, spherical, and Cartesian coordinates · Frustum plane extraction · Frustum corner computation for debug rendering · Projection and ‘unprojection’ of points · Support for picking using rays, volumes, and drag-enclosed volumes · Support for various types of billboarding, including viewplane-aligned and axial · A large library of functions for the construction and manipulation of transforms in 2D and 3D · A variety of useful utility functions What's New in This Release: · Fixed CMake script files for use in external CMake projects. · Fixed the NSIS package generator settings, and added a ZIP generator. · Macro fixes for Visual Studio 8 and 9. · Added support for quaternion log() and exp(). · Fixed quaternion slerp() to work transparently with quaternion expressions. · Fixed quaternion_rotation_difference() to work transparently with quaternion expressions. · Fixed line endings and made sure files have trailing newlines. · Added inverse determinant optimization. · Added integer-based vector and matrix types. · Removed support for quaternion division. · Fixed header include order for GCC4. · Replaced switch-case in QuaternionMulOp::operator[] with a temporary computed in the constructor. · Changed multiplication mechanism to remove extra multiplications by · 'scale' constant · Added six 'matrix decomposition' functions · Added "cml::" prefix to a number of free-function calls from vector and matrix methods that VS8 incorrectly tries to match with methods in those classes having the same names as (but different arguments from) the free functions. · Added 'tolerance' argument to quaternion_to_euler() function · Added PLANE_ prefix to enums to avoid symbol conflict with Windows macros LEFT and RIGHT · Fixed bug in ScalarPromote code; now implements the C promotion rules (see test/integer_vectors.cpp).


CML Related Software