[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