From ian@dctsystems.co.uk Sun May 25 09:02:36 HST 2003 Article: 24551 of comp.graphics.rendering.renderman Path: sn-us!sn-xit-01!sn-xit-09!supernews.com!diablo.theplanet.net!newspeer1-gui.server.ntli.net!ntli.net!newsfep1-gui.server.ntli.net.POSTED!53ab2750!not-for-mail Message-ID: <3ED0E564.2050207@dctsystems.co.uk> From: Ian Stephenson User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.0.1) Gecko/20030210 X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.graphics.rendering.renderman Subject: Re: Portable way to specify searchpath via RiOption() References: <64f9893c.0305250426.3e518608@posting.google.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Inktomi-Trace: public1-pool3-5-cust166.pool.broadband.ntl.com 1053877603 6937 80.5.242.166 (25 May 2003 15:46:43 GMT) Lines: 57 Date: Sun, 25 May 2003 16:46:44 +0100 NNTP-Posting-Host: 80.1.224.5 X-Complaints-To: abuse@ntlworld.com X-Trace: newsfep1-gui.server.ntli.net 1053877604 80.1.224.5 (Sun, 25 May 2003 16:46:44 BST) NNTP-Posting-Date: Sun, 25 May 2003 16:46:44 BST Organization: ntl News Service Xref: sn-us comp.graphics.rendering.renderman:24551 Good question! Not sure of any definitive answer, but as a starting point, the slashes should be forwards. DOS based systems are quite happy to take forward slashes except on the command line. \ in C progs causes no end of problems. Older Mac systems use : instead of / but thats history, and so far off the beated track that the renderer would need to do the conversion itself. MacOSX should be fine using unix conventions. (aside: DOS v1.0 only had one directory per disk, so they used / as a switch char. When they added directories in v2.0 they implemented for forward slash, but then got stuck doing the command prompt, wher they had to use \. The OS core should treat forward and backward slashes equivalently). The problem is the :. I couldn't think of a good solution for this, so angel currently ignores the problem. : is considered only as a seperator (in which case you need to use // mappings, or put everything on the same drive). I considered an implementation where ; as a seperator, in the win32 build (similar to cygwin shell implementations), but this got messy. Drive letters are a horrible legacy problem - they break really bad for network rendering too. If possible use //machine/dir type mappings - these should be transparent to the renderer and work fine. Ideally the renderer should be able to spot that it looks as if it has a single character searchpath (eg C), and use the single char as a drive letter. It h It gets very messy to implement however, as you need to handle all sorts of special cases, where the search parth is probably invalid anyway, but you don't want to crash the renderer. The MaxMan | output is a simple quick fix, which solves the problem, if the renderer supports it. I'd guess thats for BMRT. jsut my $0.02. I'm also interested in the problem, though I circumvented it slighty at work by not letting the win32 users near our renderfarm! Serve's em right! $an Nicholas Yue wrote: > When using RiOption(), how should the path be printed and concatenated > to maximise portability not just between platform (I am currently > considering Windows/Mac/Unix) but also between renderer. > > Some renderer e.g. RDC, are quite flexible with forward an backward > slashes and dual use of semi-colon ':'. While searching through some > very old backup tape, I found an output from MaxMan which uses '|' > instead of ':' for the drive letter. > > Is there an agreed upon standard? Didn't find any information about > that in the RiSpec 3.2 either. > > Cheers > -- > Nicholas