On 17 January 2012 14:43, David <[email protected]> wrote: > Am 17.01.2012 05:31, schrieb Kiith-Sa: > > David wrote: >> >> Am 16.01.2012 03:54, schrieb JoeCoder: >>> >>>> On 1/15/2012 1:42 PM, Walter Bright wrote: >>>> >>>>> >>>>> A nice vector math library for D that puts us competitive will be a >>>>> nice >>>>> addition to Phobos. >>>>> >>>> >>>> The gl3n library might be something good to build on: >>>> https://bitbucket.org/dav1d/**gl3n <https://bitbucket.org/dav1d/gl3n> >>>> >>>> It looks to be a continuation of the OMG library used by Deadlock, and >>>> is similar to the glm (http://glm.g-truc.net) c++ library which >>>> emulates >>>> glsl vector ops in software. >>>> >>>> We'd need to ask if it can be re-licensed from MIT to Boost. >>>> >>> Hi, >>> >>> that's definitly possible! But to be honest, I don't think putting gl3n >>> into phobos is a good idea. Why does phobos, the std. lib, need a >>> vector-lib? I haven't seen any other language with something like gl3n >>> in the std. lib. Also I used my own PEP-8, C (K&R with spaces) style, it >>> would be a real pain changing this to the Phobos style. One more point >>> is, that it's not just a Vector-lib, it also does Matrix-, >>> Quaternion-math, interpolation and implements some other useful >>> mathematical functions (as found in GLSL). >>> Of course I am open to a discussion. >>> >>> PS:// I already talked with Manu about this topic, and I don't wait too >>> long, gl3n will have core.simd support soon. >>> >> >> gl3n has a really good API with regards to game development >> (resembling GLSL helps), although I guess changing to a more Phobos >> style might be needed for inclusion. I think having it in the standard >> library would be extremely useful, though - no need to implement it myself >> then. Typical matrices used in gamedev (4x4 etc) woud be really useful as >> well (as said before, I'd even like stuff like AABBoxes, but let's go for >> vectors/matrices/quaternions first . >> > AABB are also planed for gl3n. >
Yeah I probably wouldn't put anything that high level in a standard library. Everyone will want a slightly different flavour. I think linear algebra with vectors, matrices, quats is about the fair extent of a std lib. That stuff is pretty un-debatable, but beyond that, it starts getting very subjective or context specific. Better left for higher level libraries that may also integrate with renderers/physics systems/etc.
