From: Gerardo h. <ma...@gm...> - 2004-11-22 23:12:49
|
John, We intend to implement the full RenderMan Specification. Before reading the source code I recommend that you read: Advanced RenderMan: Creating CGI for Motion Pictures http://www.amazon.com/exec/obidos/ASIN/1558606181/qid=1101164561/sr=2-1/ref=pd_ka_b_2_1/104-1657709-0682352 (chapter 6 is VERY important, it is the best documentation available on the REYES algorithm used in Pixar's PhotRealistic RenderMan) The RenderMan Interface Specification 3.2, available at: https://renderman.pixar.com/ The REYES algorithm does not use ray tracing, the closest it has to raytracing is reflection maps. An we haven't implemented them yet.... If you want to give it a try I recommend looking at the jrMan source code in MipMap.java and the book: Advanced Animation and Rendering Techniques http://www.amazon.com/exec/obidos/tg/detail/-/0201544121/qid=1101164872/sr=1-6/ref=sr_1_6/104-1657709-0682352?v=glance&s=books which has a very good explanation and some source code for reflection mapping in C (our mipmap implementation is also based on source code from this book) On Mon, 22 Nov 2004 14:22:27 -0800, John Wang <joh...@gm...> wrote: > Hi Gerardo: > > I have been doing a lot of server side programming and some work > in searching engines using Java. And I've found Java to be a better > choice for precisely the reasons you listed. I just didn't know Java > works well for raytracing implementations as well. It's very good to > know! > > I've written a very simple monte-carlo raytracer with primitives > such as sphere, cube, torus etc. with texture and bumping mapping. > Using the Phong shading model. It is very elementary comparing to > jrman. > > The reason for why I want to help out is that I think it is a very > good project and I also want an opportunity to learn more about image > synthesis/rendering. > > Is the plan to incorporating all the features in Aqsis or > Renderman into jrman? > > I'd happy to work on just about anything, any suggestions? In the > mean time, I will just get familiar with the code base. > > Thanks > > -John > > On Mon, 22 Nov 2004 15:46:23 -0600, Gerardo horvilleur > > > <ma...@gm...> wrote: > > Hi John, > > > > Sun's implementation of the JVM comes with a HotSpot compiler that > > translates CPU intensive methods into machine language. > > > > Actually there are 2 HotSpot compilers: > > > > 1. Client: simple optimizations, fast program startup. > > > > 2. Server: more sophisticated optimizations, slower program startup. > > > > The -server option is used to choose the server compiler. > > > > Why can jrMan be faster than Aqsis: > > > > 1. Java is much faster than most people assume it is. At execution > > time CPU intensive methods are translated into machine language. > > > > 2. C++ can be much slower than most people assume it is. When you > > program in C++, if you are not careful enough, it is very easy to > > write inefficient code. My own experience is that when using C++ for > > time critical code I had to keep checking the machine language code > > the compiler was generating to make sure it wasn't doing something I > > didn't want it to... This is partly due to operator overloading which > > allows you to write something as innocent looking as: a = b + c; and > > have that translated into hundreds or thousands of machine language > > instructions. > > > > 3. Memory management is extremely fast in Java. Most people assume > > that garbage collection is slow, but they probably have never run a C > > program with a profiler turned on. If they did the would discover that > > it is quite common to spend from 20% to over 50% of CPU time in malloc > > and free (or new and delete if you are using C++). I have rendered > > some extremely "memory management intensive" images with jrMan in > > which I created billions of objects and had dozens of millions of > > "live" objects, and garbage collection acounted for less than 10% of > > CPU time. > > > > In programs with static or very simple dynamic data structures, C (and > > sometimes C++) can be quite fast. But if you need to manage very > > complex dynamic data structures then you are going to spend much of > > your CPU time on malloc and free. > > > > Of course, you can always program your own memory management code > > optimized for your program needs, but when you have a complex > > algorithm (like REYES!) it becomes very dificult to know when it is > > safe to release a piece of memory. Most C++ programmers seem to like > > something which they call SmartPointers, which is basically doing > > garbage collection by reference counting. If they spent a little time > > reading about garbage collection they would find out that reference > > counting is absolutly the worst (performance wise) garbage collection > > algorithm! > > > > Your help is welcome! Is there anything you are particularly > > interested in implementing? > > > > > > > > On Sun, 21 Nov 2004 23:55:11 -0800, John Wang <joh...@gm...> wrote: > > > Hi Gerardo: > > > > > > Thanks for the info. > > > > > > It is a little counter-intuitive that jrman is that much faster > > > than Aqsis with Aqsis being implemented in C++ and jrman being > > > implemented in java. > > > > > > Can you elaborate a little more in terms of implementation why is or > > > what makes jrman faster? > > > > > > Why and How the -server option improves the performance? > > > > > > I would like to contribute as a developer, please let me know of ways > > > I can help. I have been doing Java programming since 1995 and I did > > > some very basic raytracing work at the University of Utah while > > > working for Evans & Sutherland. I'd like to learn more by helping out. > > > > > > Thanks > > > > > > -John > > > > > > On Sun, 21 Nov 2004 18:15:41 -0600, Gerardo horvilleur > > > > > > > > > <ma...@gm...> wrote: > > > > I just did one quick test with Pixie a few months ago so I really > > > > wouldn't be able to make an accurate comparison between Pixie and > > > > jrMan. > > > > > > > > From time to time we compara Aqsis and jrMan and we believe that: > > > > > > > > 1. Aqsis is, by far, a much more complete implementation of the > > > > Renderman Spec. Basically they seem to have implemented almost > > > > everything, while in jrMan we still have a big list of unimplemented > > > > featurees. > > > > > > > > 2. From our tests it seems that jrMan is faster than Aqsis. When > > > > running both programs on an Intel machine (the Mac OS X implementation > > > > of Java is not as fast as the Sun JDK on Intel) jrMan is faster than > > > > Aqsis, especially if you use the java -server option. On complex > > > > scenes jrMan is about twice as fast as Aqsis. > > > > > > > > > > > > > > > > > > > > On Sun, 21 Nov 2004 10:35:18 -0800, John Wang <joh...@gm...> wrote: > > > > > Thanks Gerardo, I got it to work. > > > > > > > > > > How does jrman compare with other open source rendering tools such as > > > > > Pixie or Aqsis in terms of functionality and performance? > > > > > > > > > > Thanks > > > > > > > > > > -John > > > > > > > > > > On Sat, 20 Nov 2004 19:06:50 -0600, Gerardo horvilleur > > > > > > > > > > > > > > > <ma...@gm...> wrote: > > > > > > I assume that by NPE you mean "NullPointerException". Did you get that > > > > > > with the sample rib files that come with the jrman 0.3 distribution? > > > > > > Please note that some of the rib files in the "model" directory are > > > > > > data files that are included in a scene with the "ReadArchive" command > > > > > > and are not meant to be rendered by themselves (the README.TXT lists > > > > > > the files than can be rendered). > > > > > > > > > > > > Current status: > > > > > > > > > > > > We have been very busy this year so we weren't able to advance as fast > > > > > > as we would have liked to, but we > > > > > > managed to implement: > > > > > > > > > > > > 1. Patch meshes > > > > > > 2. All bicubic basis > > > > > > 3. Reduced memory usage on models with a very large number of polygons. > > > > > > 4. Delayed ReadArchive > > > > > > 5. Better handling of parameters for many primitives > > > > > > 6. NURBS (not yet trimmed) > > > > > > 7. More fine tuning (and bug fixing!) in the occlusion culling code > > > > > > > > > > > > All of the above is in the CVS version and we expect to release jrman > > > > > > 0.4 shortly (in a couple of weeks?) > > > > > > > > > > > > We also did some work on the shading compiler, but there's still much > > > > > > to do before we can have something ready to release. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Sat, 20 Nov 2004 12:01:32 -0800, John Wang <joh...@gm...> wrote: > > > > > > > Hi folks: > > > > > > > > > > > > > > What is the current status and directions of the jrman project? > > > > > > > > > > > > > > I downloaded jrman 0.3 and couldn't get it to work. Keep getting > > > > > > > a NPE when parsing the model files. I added worldBeging and worldEnd > > > > > > > method calls to get the renderer field instantiated, but then I get an > > > > > > > "invalid corrdinate system" and nothing gets rendered. > > > > > > > > > > > > > > Thanks > > > > > > > > > > > > > > -John > > > > > > > > > > > > > > ------------------------------------------------------- > > > > > > > This SF.Net email is sponsored by: InterSystems CACHE > > > > > > > FREE OODBMS DOWNLOAD - A multidimensional database that combines > > > > > > > robust object and relational technologies, making it a perfect match > > > > > > > for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 > > > > > > > _______________________________________________ > > > > > > > Jrman-user mailing list > > > > > > > Jrm...@li... > > > > > > > https://lists.sourceforge.net/lists/listinfo/jrman-user > > > > > > > > > > > > > > > > > > > ------------------------------------------------------- > > > > > > This SF.Net email is sponsored by: InterSystems CACHE > > > > > > FREE OODBMS DOWNLOAD - A multidimensional database that combines > > > > > > robust object and relational technologies, making it a perfect match > > > > > > for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 > > > > > > _______________________________________________ > > > > > > Jrman-user mailing list > > > > > > Jrm...@li... > > > > > > https://lists.sourceforge.net/lists/listinfo/jrman-user > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------- > > > > > SF email is sponsored by - The IT Product Guide > > > > > Read honest & candid reviews on hundreds of IT Products from real users. > > > > > Discover which products truly live up to the hype. Start reading now. > > > > > http://productguide.itmanagersjournal.com/ > > > > > _______________________________________________ > > > > > > > > > > > > > > > Jrman-user mailing list > > > > > Jrm...@li... > > > > > https://lists.sourceforge.net/lists/listinfo/jrman-user > > > > > > > > > > > > > ------------------------------------------------------- > > > > SF email is sponsored by - The IT Product Guide > > > > Read honest & candid reviews on hundreds of IT Products from real users. > > > > Discover which products truly live up to the hype. Start reading now. > > > > http://productguide.itmanagersjournal.com/ > > > > _______________________________________________ > > > > > > > > > > > > Jrman-user mailing list > > > > Jrm...@li... > > > > https://lists.sourceforge.net/lists/listinfo/jrman-user > > > > > > > > > > > > > ------------------------------------------------------- > > > > > > > > > > > > > SF email is sponsored by - The IT Product Guide > > > Read honest & candid reviews on hundreds of IT Products from real users. > > > Discover which products truly live up to the hype. Start reading now. > > > http://productguide.itmanagersjournal.com/ > > > _______________________________________________ > > > Jrman-user mailing list > > > Jrm...@li... > > > https://lists.sourceforge.net/lists/listinfo/jrman-user > > > > > > > ------------------------------------------------------- > > > > SF email is sponsored by - The IT Product Guide > > Read honest & candid reviews on hundreds of IT Products from real users. > > Discover which products truly live up to the hype. Start reading now. > > http://productguide.itmanagersjournal.com/ > > _______________________________________________ > > Jrman-user mailing list > > Jrm...@li... > > https://lists.sourceforge.net/lists/listinfo/jrman-user > > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://productguide.itmanagersjournal.com/ > _______________________________________________ > Jrman-user mailing list > Jrm...@li... > https://lists.sourceforge.net/lists/listinfo/jrman-user > |