Does BMRT support DSO shadeops?

Does BMRT support DSO shadeops?

Post by August Swanso » Tue, 26 Oct 1999 04:00:00



Hello all,
  I've just started playing around with BMRT and haven't been able to
determine
if it supports DSO shadops.  I've looked at the DSO shadeop example for
RenderMan, which uses some macros contained in the shadeop.h file.
Is there an equivalent header file for BMRT?

Thanks,

August Swanson             Darkling Simulations

 
 
 

Does BMRT support DSO shadeops?

Post by Larry Gri » Wed, 27 Oct 1999 04:00:00




>Hello all,
>  I've just started playing around with BMRT and haven't been able to
>determine
>if it supports DSO shadops.

The current public version does not, sorry.

        -- lg

--
Larry Gritz                                     Pixar Animation Studios


 
 
 

Does BMRT support DSO shadeops?

Post by Alex Magido » Thu, 28 Oct 1999 04:00:00


Anyone care to inform the rest of us what a DSO shadeop is?




> >Hello all,
> >  I've just started playing around with BMRT and haven't been able to
> >determine
> >if it supports DSO shadops.

> The current public version does not, sorry.

>         -- lg

> --
> Larry Gritz                                     Pixar Animation Studios


--
Your claims are silly and ridiculous... I'm old, not brain damaged.
-Debate Ballot
 
 
 

Does BMRT support DSO shadeops?

Post by Tal Lancaste » Thu, 28 Oct 1999 04:00:00




Quote:> Anyone care to inform the rest of us what a DSO shadeop is?

DSO -- Dynamic Shared Object
In short shader DSOs allow one to call external functions (and even
programs) that are written in say C++, to be called from within a
shader.  This is how prman is able to call BMRT to do raytracing for it.

For nitty gritty details check out:

http://www.renderman.org/RMR/DSOs/index.html

[snip..snip]

Tal

--
Tal Lancaster
The RenderMan Repository (http://www.renderman.org/RMR/)

Sent via Deja.com http://www.deja.com/
Before you buy.

 
 
 

Does BMRT support DSO shadeops?

Post by Larry Gri » Thu, 28 Oct 1999 04:00:00




Quote:>Anyone care to inform the rest of us what a DSO shadeop is?

In the last couple versions of PRMan, it has been possible to write a
function callable from a shader, but actually implemented as compiled
C.  There are a bunch of restrictions on how you can use it, but it
allows a back door to do some stuff you could never ordinarily do in
Shading Language.  For example, the "frankenrender" (a.k.a. "ray
server") scheme that joins PRMan and BMRT is implemented as a DSO
shadeop on the PRMan side which opens a pipe to BMRT to send ray
request and get results back.

The operation of DSO shadeops is documented in the PRMan user manual:
http://www.pixar.com/products/renderman/toolkit/Toolkit/dsoshadeops.html

        -- lg

--
Larry Gritz                                     Pixar Animation Studios

 
 
 

Does BMRT support DSO shadeops?

Post by Stephen H. West » Tue, 02 Nov 1999 04:00:00



> Anyone care to inform the rest of us what a DSO shadeop is?

The "rest of us" presumably being the Windows side of the world. DSO
stands for Dynamic Shared Object, the Unix (or at least IRIX) term for
the equivalent of a DLL. A DSO shadeop is a means of compiling C or
C++ code and calling it from within a shader.

<snip>

--
-Stephen H. Westin
Any information or opinions in this message are mine: they do not
represent the position of Cornell University or any of its sponsors.

 
 
 

1. DSO shadeops, BMRT and Windows NT

I am using BMRT version 2.6 under Windows NT and am trying to figure out how
to build and use shadeops with BMRT.  The compiler I am using to build the c
shadeop code is gcc (cygwin version), and I have reconstructed the
definitions from the shadeop.h headerfile for SHADEOP and SHADEOP_TABLE
(similar to what Thomas Burge did in his shadeops.

So, I can build the object file just fine, but I'm not exactly sure what
kind of shared resource BMRT and slc are going to expect.  I would expect
that they would need dll's (supported by the fact that the -dso switch in
slc has been replaced by -dll for the Windows version of BMRT) but I am not
sure what form the dll should take to be compatible with bmrt.

I have tried using the -shared option of ld to link the .o file.  (I didn't
really expect this to work, because if I remember right, this option of
gcc's linker only works on SunOS) When I try to compile the test shader
which uses the shadeop, I get the following errors.

slc Error: "testsqr.sl", line 6: dso shadeop error.

slc Error: "testsqr.sl", line 6: unknown function
        sqr
slc Error: "testsqr.sl", line 7: dso shadeop error.

slc Error: "testsqr.sl", line 7: unknown function
        sqr
slc Error: "testsqr.sl", line 7: parse error

Indicating that slc simply can't find the shadeop.  (I'm just trying to
build the
simplest shadeop I could ... so I used the sqr shadeop from pixars
documentation)

Is there a different procedure for building shadeops on windows platforms?
Is there a directory where the compiled shadeops should be placed, or is
there a way to change the shadeop search path?  I also have VC++ 6 at my
disposal if anyone has a procedure for this compiler.

Any help would be greatly appreciated

John McDonald

2. Macintosh system requirements for ExpressVR?

3. DSO shadeops in BMRT!

4. Windows OpenGL Tutorial

5. Strings passed to DSO Shadeops

6. Windows BMRT DSO shadeop problem.

7. Q: SGI movies and BMRT DSO's

8. Larry Gritz - BMRT DSO for Win NT

9. DSO crashing in BMRT with malloc() call.

10. Need help on Procedural DSO's in BMRT

11. Anyone have a Windows BMRT DSO shadeop example?