Re: [Aqsis-development] aqsis source tree rearrangement
Brought to you by:
ltatkinson,
pgregory
From: Chris F. <fo...@ph...> - 2008-09-25 05:05:33
|
Hi Paul, On Wed, Sep 24, 2008 at 01:20:24PM +0100, Paul Gregory wrote: > In my opinion, this work has already been started to a very small degree > with the separation of the interface headers into their own directory. If I > understand properly, what you're proposing is an extension to that, moving > all the headers into a separate subtree in the source base. That's pretty much the idea I suppose. I've always been confused by which headers belong in the interfaces directory so I tended to avoid it until now. I don't much like the fact that headers from disparate libraries are mixed together in there either - it makes it much harder to understand which header belogs with which library. Something to consider is that the headers directory I'm proposing can't just consist of pure interfaces: the necessity of supporting templates and inline functions forces us to include some implementation details as well. In aqsistex, I tried to put anything which was a true implementation detail inside the "aqsis::detail" namespace (following boost). I probably need to consider making more things details, at least until aqsistex stabilises somewhat... > I can't think off the top of my head of any serious implications to > this approach. I welcome the reorganisation within the project. > However, we will have to think carefully about what we publish as part > of an installation, so that there are no problems with dependencies. I definitely agree with this - IMO some of our most interesting interfaces (like the shadervm) are not ready to be exposed to the outside world, but I'd like to put a framework in place to do so. In the meantime, I think the framework will be helpful internally because of the regular structure it provides. > In fact, the dependency stuff is perhaps something we should look into > at the same time, I'm sure there is a lot that could be done to reduce > the dependencies within our headers. Yeah, I guess the libraries should have a strict tree-like dependency structure (ie, no circular dependencies). I don't think this is quite true for the core / shaderexecenv / shadervm coupling, which I've always found difficult to get my head around. > I'm sure it'll be a big job, but along with some refactoring of our various > libraries, I agree that Aqsis could then become a more generally useful set > of libraries, that just happens to have a number simple glue applications in > 'aqsis'. 'teqser' etc. Exactly, this is what I'm excited about :-) Cheers! ~Chris. |