RenderMan & RISpec >> Sample REYES implementation
by Mikael Sundell » Thu, 31 Jul 2008 03:25:58 GMT
Hi,
I'm looking for a sample REYES implementation to be used as a starting
point for educational purposes and tests. It would be interesting to
see an implementation distributed with source code that covers the
very basics of the reyes rendering pipeline. Not all bells and whisels
are needed, something simplified would be useful.
Thanks - Mikael
RenderMan & RISpec >> Sample REYES implementation
by Olivier3001 » Thu, 31 Jul 2008 21:25:04 GMT
I haven't looked at the source so I can't tell for sure but it seems
that jrMan was written with that purpose in mind. There may be even
more basic implementations which do not use the renderman interface
but I can't remember any.
Olivier
RenderMan & RISpec >> Sample REYES implementation
by Mikael Sundell » Fri, 01 Aug 2008 06:15:00 GMT
Thanks Oliver for your reply. Actually, I found jrMan yesterday but
quickly realized it was written in Java,
could of course be used as a starting point but I prefer C/C++. Also
found a reyes implementation
at
http://www.adrianandsusan.dsl.pipex.com/reyes/reyes.html by Adrian
Skilling. Will give it a try and
do some experiments, it comes with example RIBs and builds on linux as
well.
Noticed
http://graphics.pixar.com/ , a valuable resource.
Mikael
RenderMan & RISpec >> Sample REYES implementation
by Rick LaMont » Sat, 02 Aug 2008 07:53:29 GMT
That's the one I was going to recommend. As I recall it's a barebones Reyes
pipeline and the code is easy to understand. Aqsis and Pixie are also open
source but will take longer to figure out because their complexity.
Rick LaMont
Dot C Software, Inc.
http://www.dotcsw.com/
RenderMan & RISpec >> Sample REYES implementation
by Mikael Sundell » Sat, 02 Aug 2008 17:19:29 GMT
>>
>>>> found a reyes implementation by Adrian Skilling.
>>
>> That's the one I was going to recommend. s I recall it's a barebones Reyes
>> pipeline and the code is easy to understand. qsis and Pixie are also open
>> source but will take longer to figure out because their complexity.
>>
>> Rick LaMont
>> Dot C Software, Inc.
http://www.dotcsw.com/
Yeap, it's easy to understand and well structured. Also comes with a
set of basic surface shaders.
Thanks - Mikael
Similar Threads
1. I'm looking for simple REYES implementation.
2. Alpha implementation using Reyes-like architecture - RenderMan & RISpec
3. Reyes implementation
Hi all,
I'm trying to implement a simple Reyes-based rendering engine.
Could anybody tell me what papers it's good to read before starting coding
;) ?
thanks
john
4. Compiling SGI sample implementation for win32
5. SGI GLU Sample Implementation Fixes
I have been working with and debugging the NURBS portion of SGI's
sample implementation of GLU and propose the following changes/fixes.
- The following is a bug fix. The original code only works if the
stride is 2, which is not the case for homogenous coordinates.
libnurbs/internals/arctess.cc, Line 338:
for(i=1, j=2; i<bezierArc->order; i++, j+= bezierArc->stride)
Change to:
for(i=1, j=bezierArc->stride; i<bezierArc->order; i++, j+=
bezierArc->stride)
- The function monoTriangulationFun calls
monoTriangulationRecFun with zeroes for both of the current
indices to the inc_chain and dec_chain vertex arrays. If both of
these containers are empty (which can happen--did for me with one
surface), monoTriangulationRecFun will assert. I don't know
if this indicates a flaw in the data, but to avoid the assertion, I
added the following:
libnurbs/nurbtess/monoTriangulation.cc, Insert at line 622
(before call to monoTriangulationRecFun):
if (!(0 == inc_chain.getNumElements() && 0 ==
dec_chain.getNumElements()))
- Initialization of the member variable output_triangles of
the class OpenGLCurveEvaluator was overlooked. NURBS curves
won't render in a debug build because of this. Add the following
initialization in the constructor:
libnurbs/interface/glcurveval.cc, Insert at line 77:
output_triangles = 0; //don't output triangles by default
- The following change eliminates a compiler warning (using MS VC6).
Add the following delete operator to class PooledObj:
libnurbs/internals/bufpool.h, Insert at line 131:
inline void operator delete( void *, Pool & ) { assert( 0 ); }
Another problem this library has, which I have not yet debugged (and
may not get to), is that it does not render trimmed surfaces
correctly when using GLU_PARAMETRIC_ERROR for the sampling method.
The edges of the trim lines are rendered with far too few segments
(at least with NURBS trim curves--not sure about piecewise trim
curves). If anyone has a fix for this, please post it.
I hope this helps helps other people working with GLU NURBS and that
SGI sees this and incorporates these changes into its sample
implementation.
(I have posted a copy of this to the OpenGL coding: advanced forum
at OpenGL.org also.)
John Shell
6. Rendering with XSLT and the Reyes Pipeline - RenderMan & RISpec
7. Using the Reyes Rendering Pipeline
8. Is 1 tflop enough for realtime REYES rendering? - RenderMan & RISpec