Re: gl3n - linear algebra and more for D

2011-12-04 Thread bls

On 12/04/2011 03:39 PM, bearophile wrote:

This seems the 15th D implementation of certain things I've seen so far. Also 
to avoid further duplication I'd like 2D/3D/4D vectors (for game or graphics 
purposes) in Phobos.


Isn't he a nice guy ?
Since 5, maybe 6, years bearophile is complaining that D is not Python. 
And in case that bearophile is not in the mood to complain he fires up 
some obscure benchmarks or he is telling you why language X Y Z is 
better than D. Pretty annoying imho.


My 2 cents

OK, Somehow your announcement implicates that you've implemented a 
DirectX wrapper.  "gl3n provides all the math you need to work with 
OpenGL, DirectX or just vectors and matrices,,,


True ? Avail. ?
Bjoern


Re: dmd 1.071 and 2.056 release

2011-12-04 Thread Stewart Gordon

On 26/10/2011 19:34, Walter Bright wrote:


http://www.digitalmars.com/d/2.0/changelog.html



Version D 2.056 Sep 10, 2011
New/Changed Features

Druntime Bugs Fixed

Library Bugs Fixed

DMD Bugs Fixed


???

Stewart.


Re: gl3n - linear algebra and more for D

2011-12-04 Thread bearophile
David:

> I am currently working on gl3n - https://bitbucket.org/dav1d/gl3n - gl3n 
> provides all the math you need to work with OpenGL, DirectX or just 
> vectors and matrices (it's mainly targeted at graphics - gl3n will never 
> be more then a pure math library). What it supports:
> 
>   * vectors
>   * matrices
>   * quaternions
>   * interpolation (lerp, slerp, hermite, catmull rom, nearest)
>   * nearly all glsl functions (according to spec 4.1)
>   * some more cool features, like templated types (vectors, matrices,
> quats), cool ctors, dynamic swizzling

This seems the 15th D implementation of certain things I've seen so far. Also 
to avoid further duplication I'd like 2D/3D/4D vectors (for game or graphics 
purposes) in Phobos.

Bye,
bearophile


Re: gl3n - linear algebra and more for D

2011-12-04 Thread David
Ah finally, I spent today some work on adding and finishing the 
documentation, the result: http://dav1d.bitbucket.org/gl3n/index.html


Thanks for all your suggestions and the positive feedback so far :)

- dav1d



Re: gl3n - linear algebra and more for D

2011-12-04 Thread Eric Poggel (JoeCoder)

On 12/2/2011 5:36 PM, David wrote:

Hello,

I am currently working on gl3n - https://bitbucket.org/dav1d/gl3n - gl3n
provides all the math you need to work with OpenGL, DirectX or just
vectors and matrices (it's mainly targeted at graphics - gl3n will never
be more then a pure math library). What it supports:

- dav1d


I can see myself using this.  Thanks for your work.



Re: gl3n - linear algebra and more for D

2011-12-04 Thread Timon Gehr

On 12/04/2011 02:27 PM, Alex Rønne Petersen wrote:

On 04-12-2011 14:22, David wrote:

Am 04.12.2011 14:16, schrieb Alex Rønne Petersen:

On 03-12-2011 23:36, David wrote:

Am 03.12.2011 22:32, schrieb Kiith-Sa:

David wrote:


Hello,

I am currently working on gl3n - https://bitbucket.org/dav1d/gl3n -
gl3n
provides all the math you need to work with OpenGL, DirectX or just
vectors and matrices (it's mainly targeted at graphics - gl3n will
never
be more then a pure math library). What it supports:

* vectors
* matrices
* quaternions
* interpolation (lerp, slerp, hermite, catmull rom, nearest)
* nearly all glsl functions (according to spec 4.1)
* some more cool features, like templated types (vectors, matrices,
quats), cool ctors, dynamic swizzling

And the best is, it's MIT licensed ;). Unfortunatly there's no
documentation yet, but it shouldn't be hard to understand how to use
it,
if you run anytime into troubles just take a look into the source, I
did
add to every part of the lib unittests, so you can see how it works
when
looking at the unittests, furthermore I am very often at #D on
freenode.
But gl3n isn't finished! My current plans are to add more
interpolation
functions and the rest of the glsl defined functions, but I am new to
graphics programming (about 4 months I am now into OpenGL), so
tell me
what you're missing, the chances are good that I'll implement and add
it. So let me know what you think about it.

Before I forget it, a bit of code to show you how to use gl3n:





vec4 v4 = vec4(1.0f, vec3(2.0f, 3.0f, 4.0f));
vec4 v4 = vec4(1.0f, vec4(1.0f, 2.0f, 3.0f, 4.0f).xyz)); // "dynamic"
swizzling with opDispatch
vec3 v3 = my_3dvec.rgb;
float[] foo = v4.xyzzzwzyyxw // not useful but possible!
glUniformMatrix4fv(location, 1, GL_TRUE, mat4.translation(-0.5f,
-0.54f,
0.42f).rotatex(PI).rotatez(PI/2).value_ptr); // yes they are row
major!
mat3 inv_view = view.rotation;
mat3 inv_view = mat3(view);
mat4 m4 = mat4(vec4(1.0f, 2.0f, 3.0f, 4.0f), 5.0f, 6.0f, 7.0f, 8.0f,
vec4(...) ...);

struct Camera {
vec3 position = vec3(0.0f, 0.0f, 0.0f);
quat orientation = quat.identity;

Camera rotatex(real alpha) { orientation.rotatex(alpha); return
this; }
Camera rotatey(real alpha) { orientation.rotatey(alpha); return
this; }
Camera rotatez(real alpha) { orientation.rotatez(alpha); return
this; }

Camera move(float x, float y, float z) {
position += vec3(x, y, z);
return this;
}
Camera move(vec3 s) {
position += s;
return this;
}

@property camera() {
//writefln("yaw: %s, pitch: %s, roll: %s",
degrees(orientation.yaw), degrees(orientation.pitch),
degrees(orientation.roll));
return mat4.translation(position.x, position.y, position.z) *
orientation.to_matrix!(4,4);
}
}

glUniformMatrix4fv(programs.main.view, 1, GL_TRUE,
cam.camera.value_ptr);
glUniformMatrix3fv(programs.main.inv_rot, 1, GL_TRUE,
cam.orientation.to_matrix!(3,3).inverse.value_ptr);





I hope this gave you a little introduction of gl3n.

- dav1d



I looked at your project yesterday (found it on derelict forums)
and it looks really good. Currently I'm using my own code for
vectors/matrices but a dedicated library could be better.


My comments:

Not sure if DMD will do a good job optimizing your code atm
(probably no way around this but to wait - uglifying the code would
serve
no purpose)

In the future, SSE support would be nice (maybe will be easier to do
if we
ever get SSE intrinsics)

Seems like most of the code is in linalg.d - wouldn't it be more
maintainable
to have it separated for each struct, and then public import it
through one
module for easy usage?

I'm doing a lot of 2D work, and could use at least a rectangle/aabbox
struct
(if I use your lib, I'll implement rectangles on top of it anyway).
Some other structs might also be useful (3D aabbox, circle, sphere?)
Although, if you want to be as close to GLSL as possible, this might
not be a good idea.

Most D projects are under the Boost license.
If you want to get this to Phobos,
(I'd like something like this in Phobos :P)
I recommend using that license
(IANAL, but I don't see much difference between MIT and Boost)

The GLSL style is good if you want it as close to GLSL as possible,
but it'd be good to have more D-style aliases (again hinting at
Phobos).
(Personally I'd probably use the GLSL style, though)


Hi,

Thanks for your feedback. SSE is planed, but it will be the last step,
optimization at the end. Well gl3n shouldn't be the bottleneck anyways,
because it's normally the GPU.
I've already thought about splitting linalg into 3 different files
(also
it was suggested by some people), but I dont like how D(md) handles
imports, something like this would be cool:

import gl3n.linalg.matrix;
import gl3n.linalg.vector;
import gl3n.linalg.quaternion;
import gl3n.linalg; // this would import
gl3n.linalg.matrix/vector/quaternion publically

Like __ini

Re: Visual D 0.3.29 features C++ to D conversion wizard

2011-12-04 Thread Adrian
Am 03.12.2011 16:38, schrieb Rainer Schuetze:
> Should be fixed now, I've replaced the installer.
> 
> I also noticed that the fonts in the dialogs look ugly on XP (I have
> tweaked it on Win7), I still have to figure out what fonts VS is using.
> 
> On 03.12.2011 16:27, Rainer Schuetze wrote:
>> I can confirm the problem on another computer. I'll look into it...
>>
>> On 03.12.2011 16:02, Mirko Pilger wrote:
>>> i neither see the menu entry nor the command assignment, too. i'm using
>>> the vs shell 2008.
>>>
>>>
Thanks, it works now - a very nice tool !

Cheers,

Adrian.


Re: gl3n - linear algebra and more for D

2011-12-04 Thread Alex Rønne Petersen

On 04-12-2011 14:22, David wrote:

Am 04.12.2011 14:16, schrieb Alex Rønne Petersen:

On 03-12-2011 23:36, David wrote:

Am 03.12.2011 22:32, schrieb Kiith-Sa:

David wrote:


Hello,

I am currently working on gl3n - https://bitbucket.org/dav1d/gl3n -
gl3n
provides all the math you need to work with OpenGL, DirectX or just
vectors and matrices (it's mainly targeted at graphics - gl3n will
never
be more then a pure math library). What it supports:

* vectors
* matrices
* quaternions
* interpolation (lerp, slerp, hermite, catmull rom, nearest)
* nearly all glsl functions (according to spec 4.1)
* some more cool features, like templated types (vectors, matrices,
quats), cool ctors, dynamic swizzling

And the best is, it's MIT licensed ;). Unfortunatly there's no
documentation yet, but it shouldn't be hard to understand how to use
it,
if you run anytime into troubles just take a look into the source, I
did
add to every part of the lib unittests, so you can see how it works
when
looking at the unittests, furthermore I am very often at #D on
freenode.
But gl3n isn't finished! My current plans are to add more
interpolation
functions and the rest of the glsl defined functions, but I am new to
graphics programming (about 4 months I am now into OpenGL), so tell me
what you're missing, the chances are good that I'll implement and add
it. So let me know what you think about it.

Before I forget it, a bit of code to show you how to use gl3n:




vec4 v4 = vec4(1.0f, vec3(2.0f, 3.0f, 4.0f));
vec4 v4 = vec4(1.0f, vec4(1.0f, 2.0f, 3.0f, 4.0f).xyz)); // "dynamic"
swizzling with opDispatch
vec3 v3 = my_3dvec.rgb;
float[] foo = v4.xyzzzwzyyxw // not useful but possible!
glUniformMatrix4fv(location, 1, GL_TRUE, mat4.translation(-0.5f,
-0.54f,
0.42f).rotatex(PI).rotatez(PI/2).value_ptr); // yes they are row
major!
mat3 inv_view = view.rotation;
mat3 inv_view = mat3(view);
mat4 m4 = mat4(vec4(1.0f, 2.0f, 3.0f, 4.0f), 5.0f, 6.0f, 7.0f, 8.0f,
vec4(...) ...);

struct Camera {
vec3 position = vec3(0.0f, 0.0f, 0.0f);
quat orientation = quat.identity;

Camera rotatex(real alpha) { orientation.rotatex(alpha); return
this; }
Camera rotatey(real alpha) { orientation.rotatey(alpha); return
this; }
Camera rotatez(real alpha) { orientation.rotatez(alpha); return
this; }

Camera move(float x, float y, float z) {
position += vec3(x, y, z);
return this;
}
Camera move(vec3 s) {
position += s;
return this;
}

@property camera() {
//writefln("yaw: %s, pitch: %s, roll: %s",
degrees(orientation.yaw), degrees(orientation.pitch),
degrees(orientation.roll));
return mat4.translation(position.x, position.y, position.z) *
orientation.to_matrix!(4,4);
}
}

glUniformMatrix4fv(programs.main.view, 1, GL_TRUE,
cam.camera.value_ptr);
glUniformMatrix3fv(programs.main.inv_rot, 1, GL_TRUE,
cam.orientation.to_matrix!(3,3).inverse.value_ptr);




I hope this gave you a little introduction of gl3n.

- dav1d



I looked at your project yesterday (found it on derelict forums)
and it looks really good. Currently I'm using my own code for
vectors/matrices but a dedicated library could be better.


My comments:

Not sure if DMD will do a good job optimizing your code atm
(probably no way around this but to wait - uglifying the code would
serve
no purpose)

In the future, SSE support would be nice (maybe will be easier to do
if we
ever get SSE intrinsics)

Seems like most of the code is in linalg.d - wouldn't it be more
maintainable
to have it separated for each struct, and then public import it
through one
module for easy usage?

I'm doing a lot of 2D work, and could use at least a rectangle/aabbox
struct
(if I use your lib, I'll implement rectangles on top of it anyway).
Some other structs might also be useful (3D aabbox, circle, sphere?)
Although, if you want to be as close to GLSL as possible, this might
not be a good idea.

Most D projects are under the Boost license.
If you want to get this to Phobos,
(I'd like something like this in Phobos :P)
I recommend using that license
(IANAL, but I don't see much difference between MIT and Boost)

The GLSL style is good if you want it as close to GLSL as possible,
but it'd be good to have more D-style aliases (again hinting at
Phobos).
(Personally I'd probably use the GLSL style, though)


Hi,

Thanks for your feedback. SSE is planed, but it will be the last step,
optimization at the end. Well gl3n shouldn't be the bottleneck anyways,
because it's normally the GPU.
I've already thought about splitting linalg into 3 different files (also
it was suggested by some people), but I dont like how D(md) handles
imports, something like this would be cool:

import gl3n.linalg.matrix;
import gl3n.linalg.vector;
import gl3n.linalg.quaternion;
import gl3n.linalg; // this would import
gl3n.linalg.matrix/vector/quaternion publically

Like __init__.py in Python, unfortunatly this isn't supported (y

Re: gl3n - linear algebra and more for D

2011-12-04 Thread David

Am 04.12.2011 14:16, schrieb Alex Rønne Petersen:

On 03-12-2011 23:36, David wrote:

Am 03.12.2011 22:32, schrieb Kiith-Sa:

David wrote:


Hello,

I am currently working on gl3n - https://bitbucket.org/dav1d/gl3n -
gl3n
provides all the math you need to work with OpenGL, DirectX or just
vectors and matrices (it's mainly targeted at graphics - gl3n will
never
be more then a pure math library). What it supports:

* vectors
* matrices
* quaternions
* interpolation (lerp, slerp, hermite, catmull rom, nearest)
* nearly all glsl functions (according to spec 4.1)
* some more cool features, like templated types (vectors, matrices,
quats), cool ctors, dynamic swizzling

And the best is, it's MIT licensed ;). Unfortunatly there's no
documentation yet, but it shouldn't be hard to understand how to use
it,
if you run anytime into troubles just take a look into the source, I
did
add to every part of the lib unittests, so you can see how it works
when
looking at the unittests, furthermore I am very often at #D on
freenode.
But gl3n isn't finished! My current plans are to add more interpolation
functions and the rest of the glsl defined functions, but I am new to
graphics programming (about 4 months I am now into OpenGL), so tell me
what you're missing, the chances are good that I'll implement and add
it. So let me know what you think about it.

Before I forget it, a bit of code to show you how to use gl3n:



vec4 v4 = vec4(1.0f, vec3(2.0f, 3.0f, 4.0f));
vec4 v4 = vec4(1.0f, vec4(1.0f, 2.0f, 3.0f, 4.0f).xyz)); // "dynamic"
swizzling with opDispatch
vec3 v3 = my_3dvec.rgb;
float[] foo = v4.xyzzzwzyyxw // not useful but possible!
glUniformMatrix4fv(location, 1, GL_TRUE, mat4.translation(-0.5f,
-0.54f,
0.42f).rotatex(PI).rotatez(PI/2).value_ptr); // yes they are row major!
mat3 inv_view = view.rotation;
mat3 inv_view = mat3(view);
mat4 m4 = mat4(vec4(1.0f, 2.0f, 3.0f, 4.0f), 5.0f, 6.0f, 7.0f, 8.0f,
vec4(...) ...);

struct Camera {
vec3 position = vec3(0.0f, 0.0f, 0.0f);
quat orientation = quat.identity;

Camera rotatex(real alpha) { orientation.rotatex(alpha); return this; }
Camera rotatey(real alpha) { orientation.rotatey(alpha); return this; }
Camera rotatez(real alpha) { orientation.rotatez(alpha); return this; }

Camera move(float x, float y, float z) {
position += vec3(x, y, z);
return this;
}
Camera move(vec3 s) {
position += s;
return this;
}

@property camera() {
//writefln("yaw: %s, pitch: %s, roll: %s",
degrees(orientation.yaw), degrees(orientation.pitch),
degrees(orientation.roll));
return mat4.translation(position.x, position.y, position.z) *
orientation.to_matrix!(4,4);
}
}

glUniformMatrix4fv(programs.main.view, 1, GL_TRUE,
cam.camera.value_ptr);
glUniformMatrix3fv(programs.main.inv_rot, 1, GL_TRUE,
cam.orientation.to_matrix!(3,3).inverse.value_ptr);



I hope this gave you a little introduction of gl3n.

- dav1d



I looked at your project yesterday (found it on derelict forums)
and it looks really good. Currently I'm using my own code for
vectors/matrices but a dedicated library could be better.


My comments:

Not sure if DMD will do a good job optimizing your code atm
(probably no way around this but to wait - uglifying the code would
serve
no purpose)

In the future, SSE support would be nice (maybe will be easier to do
if we
ever get SSE intrinsics)

Seems like most of the code is in linalg.d - wouldn't it be more
maintainable
to have it separated for each struct, and then public import it
through one
module for easy usage?

I'm doing a lot of 2D work, and could use at least a rectangle/aabbox
struct
(if I use your lib, I'll implement rectangles on top of it anyway).
Some other structs might also be useful (3D aabbox, circle, sphere?)
Although, if you want to be as close to GLSL as possible, this might
not be a good idea.

Most D projects are under the Boost license.
If you want to get this to Phobos,
(I'd like something like this in Phobos :P)
I recommend using that license
(IANAL, but I don't see much difference between MIT and Boost)

The GLSL style is good if you want it as close to GLSL as possible,
but it'd be good to have more D-style aliases (again hinting at Phobos).
(Personally I'd probably use the GLSL style, though)


Hi,

Thanks for your feedback. SSE is planed, but it will be the last step,
optimization at the end. Well gl3n shouldn't be the bottleneck anyways,
because it's normally the GPU.
I've already thought about splitting linalg into 3 different files (also
it was suggested by some people), but I dont like how D(md) handles
imports, something like this would be cool:

import gl3n.linalg.matrix;
import gl3n.linalg.vector;
import gl3n.linalg.quaternion;
import gl3n.linalg; // this would import
gl3n.linalg.matrix/vector/quaternion publically

Like __init__.py in Python, unfortunatly this isn't supported (yet?).

It is also planed to add some 

Re: gl3n - linear algebra and more for D

2011-12-04 Thread Alex Rønne Petersen

On 03-12-2011 23:36, David wrote:

Am 03.12.2011 22:32, schrieb Kiith-Sa:

David wrote:


Hello,

I am currently working on gl3n - https://bitbucket.org/dav1d/gl3n - gl3n
provides all the math you need to work with OpenGL, DirectX or just
vectors and matrices (it's mainly targeted at graphics - gl3n will never
be more then a pure math library). What it supports:

* vectors
* matrices
* quaternions
* interpolation (lerp, slerp, hermite, catmull rom, nearest)
* nearly all glsl functions (according to spec 4.1)
* some more cool features, like templated types (vectors, matrices,
quats), cool ctors, dynamic swizzling

And the best is, it's MIT licensed ;). Unfortunatly there's no
documentation yet, but it shouldn't be hard to understand how to use it,
if you run anytime into troubles just take a look into the source, I did
add to every part of the lib unittests, so you can see how it works when
looking at the unittests, furthermore I am very often at #D on freenode.
But gl3n isn't finished! My current plans are to add more interpolation
functions and the rest of the glsl defined functions, but I am new to
graphics programming (about 4 months I am now into OpenGL), so tell me
what you're missing, the chances are good that I'll implement and add
it. So let me know what you think about it.

Before I forget it, a bit of code to show you how to use gl3n:


vec4 v4 = vec4(1.0f, vec3(2.0f, 3.0f, 4.0f));
vec4 v4 = vec4(1.0f, vec4(1.0f, 2.0f, 3.0f, 4.0f).xyz)); // "dynamic"
swizzling with opDispatch
vec3 v3 = my_3dvec.rgb;
float[] foo = v4.xyzzzwzyyxw // not useful but possible!
glUniformMatrix4fv(location, 1, GL_TRUE, mat4.translation(-0.5f, -0.54f,
0.42f).rotatex(PI).rotatez(PI/2).value_ptr); // yes they are row major!
mat3 inv_view = view.rotation;
mat3 inv_view = mat3(view);
mat4 m4 = mat4(vec4(1.0f, 2.0f, 3.0f, 4.0f), 5.0f, 6.0f, 7.0f, 8.0f,
vec4(...) ...);

struct Camera {
vec3 position = vec3(0.0f, 0.0f, 0.0f);
quat orientation = quat.identity;

Camera rotatex(real alpha) { orientation.rotatex(alpha); return this; }
Camera rotatey(real alpha) { orientation.rotatey(alpha); return this; }
Camera rotatez(real alpha) { orientation.rotatez(alpha); return this; }

Camera move(float x, float y, float z) {
position += vec3(x, y, z);
return this;
}
Camera move(vec3 s) {
position += s;
return this;
}

@property camera() {
//writefln("yaw: %s, pitch: %s, roll: %s",
degrees(orientation.yaw), degrees(orientation.pitch),
degrees(orientation.roll));
return mat4.translation(position.x, position.y, position.z) *
orientation.to_matrix!(4,4);
}
}

glUniformMatrix4fv(programs.main.view, 1, GL_TRUE,
cam.camera.value_ptr);
glUniformMatrix3fv(programs.main.inv_rot, 1, GL_TRUE,
cam.orientation.to_matrix!(3,3).inverse.value_ptr);


I hope this gave you a little introduction of gl3n.

- dav1d



I looked at your project yesterday (found it on derelict forums)
and it looks really good. Currently I'm using my own code for
vectors/matrices but a dedicated library could be better.


My comments:

Not sure if DMD will do a good job optimizing your code atm
(probably no way around this but to wait - uglifying the code would serve
no purpose)

In the future, SSE support would be nice (maybe will be easier to do
if we
ever get SSE intrinsics)

Seems like most of the code is in linalg.d - wouldn't it be more
maintainable
to have it separated for each struct, and then public import it
through one
module for easy usage?

I'm doing a lot of 2D work, and could use at least a rectangle/aabbox
struct
(if I use your lib, I'll implement rectangles on top of it anyway).
Some other structs might also be useful (3D aabbox, circle, sphere?)
Although, if you want to be as close to GLSL as possible, this might
not be a good idea.

Most D projects are under the Boost license.
If you want to get this to Phobos,
(I'd like something like this in Phobos :P)
I recommend using that license
(IANAL, but I don't see much difference between MIT and Boost)

The GLSL style is good if you want it as close to GLSL as possible,
but it'd be good to have more D-style aliases (again hinting at Phobos).
(Personally I'd probably use the GLSL style, though)


Hi,

Thanks for your feedback. SSE is planed, but it will be the last step,
optimization at the end. Well gl3n shouldn't be the bottleneck anyways,
because it's normally the GPU.
I've already thought about splitting linalg into 3 different files (also
it was suggested by some people), but I dont like how D(md) handles
imports, something like this would be cool:

import gl3n.linalg.matrix;
import gl3n.linalg.vector;
import gl3n.linalg.quaternion;
import gl3n.linalg; // this would import
gl3n.linalg.matrix/vector/quaternion publically

Like __init__.py in Python, unfortunatly this isn't supported (yet?).

It is also planed to add some useful stuff for graphics programming,
like as you me

Re: gl3n - linear algebra and more for D

2011-12-04 Thread Peter Alexander

On 4/12/11 12:56 AM, David wrote:

Am 04.12.2011 01:38, schrieb dsimcha:

I don't know much about computer graphics but I take it that a sane
design for a matrix/vector library geared towards graphics is completely
different from one geared towards general numerics/scientific computing?
I'm trying to understand whether SciD (which uses BLAS/LAPACK and
expression templates) overlaps with this at all.

klickverbot dav1d: Just to clear up the confusion, scientific linear
algebra stuff is a completely different beast than game math. Games is
fast 4x4 matrices, numerics is intricate algorithms for 1000x1000
matrices (read: larger than you ever need in gamedev, even when your
game uses string theory)

klickverbot dav1d: I don't know gl3n specifically, but trust me, no
gaming linear algebra lib is ever going to be a viable choice for
science-y things and vice versa

klickverbot dav1d: I mean, a gaming lib would e.g. never have LU,
Cholesky, and all other different kinds of decomposition algorithms


Well, I don't know a lot about this topic (scientific linear algebra),
but it seems that they have different aims.


That's right. Game maths revolves around small vectors and matrices, 
typically never above 4x4.


Re: D2 port of xfBuild (alpha version)

2011-12-04 Thread Jacob Carlborg

On 2011-12-02 18:38, Andrej Mitrovic wrote:

Honestly I don't think xfBuild should be used in IDEs, an IDE already
has all the information about module dependencies and has a better
idea on what to compile.

Currently xfBuild is actually slower than RDMD on full builds (both
the D1 and D2 branch). When I further refactor the codebase I'll see
what is slowing it down. However on incremental builds xfBuild is
faster. It still likes to crash sometime though, so RDMD is safer to
use at the moment.

Anyway RDMD is DMD-specific, but I want xfBuild to work with multiple
compilers (DMD/GDC/LDC/SDC) and linkers.


Both GDC and LDC ships with DMD wrappers.

--
/Jacob Carlborg