[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Sv: Future direction of PenguinPlay

Bjarke Hammersholt Roune wrote:

>I doubt the different teams developing the libs would be very pleased with
>us inserting features that served no porpuse but to make it easier for it to
>interface better with PPlay. I doubt we'd be able to talk anyone into
>changing the way they did streams or threads, for example.

Of course we can. You're still thinking too much in the commercial software
way ;)
With free software the goal is to make the (library|application|game|...)
as good as possible. Period. If library A can't be used in combination with
library B, then that's clearly a bug either in A or in B or in both. And
bugs will be fixed.

I have seen several project reach a respectable size when their authors
realized that the code was good enough for most cases, but that it wasn't
as good as it could be. The problem was that making it better would have
required fundamental changes to the design. But, well, it was the only way
and so they redesigned the thing, dumped all code and rewrote it from
Just as a small illustration on how far free software developers are
willing to go to improve their code.

>What about 2D/3D graphics? I sure would find it practical to be able to
>manipulate the surfaces on my 3D objects using the 2D lib. Its kind of an
>obvious thing that atleast I would take for granted. So, if I want an effect
>running both in 2D and 3D surfaces (like a nice fractal water effect), I
>have to write it twice?

No. you just tell the developers of both libs "Hey, don't you think giving
the user the possibility to use 2DlibA to directly draw into 3DlibB
textures would be good?" and they will respond "Hey, you're right! We could
add some xyz function for that - or perhaps tweak feature abc to allow
drawing to "foreign" memory. Just look at the code and prepare a patch.".
If you're lucky they'll even do it themselves.

If the enhancement is useful and (relative to its usefulness)
not excessively hard to include, then it will be included.

It essentially all comes down to playing around with the different libs
(ie. using them in a realistic scenario) and staying in contact with the


Drive A: not responding...Formatting C: instead