[Radiance-dev] Radiance cross-platform issues & GUIs, oh my!
R Fritz
rfritz at u.washington.edu
Mon Jul 7 22:24:21 PDT 2008
I've been looking into this. I'm planning a thesis involving Radiance,
so I think I'll have some time to put into this. (I am probably
rehashing older discussions here; forgive me.)
I'm looking at a cross-platform set of build scripts, which I think
are plausible now that we're down to three or four platforms, though
I'm going to carefully avoid the problem of building, for instance, X
windows components on Microsoft Windows. These proposed scripts are
intended to be in addition to current scripts rather than
replacements. I think I can make these simple and effective; we'll
have to see how well I do.
Perhaps I can embed most of the the existing commands in C++ classes.
Ideally, all the current code would be left unchanged; this would also
be "in addition to," rather than "instead of". The classes could then
be invoked from conventional cross-platform GUI code. I am looking at
WxWidgets for the GUI, but in principle any GUI classes or functions
could be used--even native Windows or Mac classes.
One area where I think Radiance might reap some benefit from changes
in the core code--though if the community doesn't want to go this way
I'll leave it be--would be to integrate some shell functionality in
the processing of the Radiance Scene Description Language (RSDL?)
Perhaps we can imagine an rdsl_open() routine which contains a simple
non-interactive shell and implements pipes, simple argument quoting,
xform, tmesh2rad, gen*, and perhaps a few other operations as built-
ins. Anything complicated and shellish rdsl_open() would forward to
the system shell, with the understanding that this makes the RDSL code
system-dependent. This would enormously simplify Microsoft porting,
and might even lead to speed improvements in oconv, since it would
trade memory for process creation. Memory is cheap these days;
probably cheaper than Unix processes and probably much cheaper than MS
processes.
What do people think?
Randolph
More information about the Radiance-dev
mailing list