Friday, September 19, 2014

PRMan RMS 18: Some tips on Rendering in Maya



RMS 19 is around the corner and will be released this fall. The new RIS engine works different than the RMS 18 reyes and ray tracer hiders but these old hiders will still be available. So why not write an article on how to get decent quality images out and how to streamline your workflow. Some of the workflow tips will still be useful in RMS 19.


What are my render options while working on a scene?


There are three ways to get your previews rendered. You can use the internal renderer. The interactive re-render option or the PRMan external renderer.
  • The internal renderer: Works just like the Maya renderer or Mental Ray. My biggest problem with this method is that Maya becomes unresponsive while rendering. You can stop the render process by pressing Esc but you can't modify any parameters in Maya. You can only twiddle your thumbs while waiting.
  • The re-render option: In this mode the renderer will constantly update the image while Maya stays responsive. You can change settings on the fly and see them change in de Render View. I have seen people using it successfully. Personally speaking I do not have a great experience with it. It does sometimes freeze Maya as it is still a process within Maya. This can really disrupt the workflow. It works best when you output your image to "it" and not to the render view in Maya.
  • The PRMan external renderer: In this mode the scene gets exported en queued up in the Local Queue manager (or the farm if you have one) and then rendered by RenderMan Pro Server. The big benefit is that it is an external process which won't block Maya from being used once the scene is launched. It is slightly less interactive than the re-render mode but is very stable. Since it uses the Local Queue it is possible to queue up multiple renders. It also uses "it" which is superior image viewer compared to the Render View.



How to speed up your workflow by using the external renderer


RMS 18 has two modes of rendering: reyes or ray trace. Reyes is a hybrid renderer (used to be scan line only) and the other mode is of course a full ray tracer. They both produce excellent results but they respond slightly different to the quality settings. I have made a test scene with a pencil and three black spheres lit with an HDR map.

Let's have a look at those settings (click on the images to see a full res version):


Image1: RenderMan Globals: Quality tab and advanced tab. (click image to see full res).

Under the advanced tab you can choose your render mode (or also called hider) (right window on image 1). When choosing reyes there is not much else to set in the hider tab. When choosing ray trace it is possible to tweak some settings. I prefer the adaptive path tracer. When you check incremental the image will start rendering noisy but will improve over time. I really like this as you get immediate results but you can also wait for more details to show up while it continues calculating the image. It allows you to judge the image quickly so you can start making tweaks. The image keeps rendering while you make those shading tweaks in Maya or when updating texture maps. (but does not incorporate them until the next render). For me it means I can do two things at once.

Image 2: RenderMan Render Options

To set up you external renderer you need to adjust some setting in the RenderMan Render Options.

  • Check the external renderer and choose "it" as your image display or your image viewer.
  • Choose local queue and local render (unless you have a complete render farm at your finger tips).
  • Set the environment key to "rms-18.0-maya-2015 prman-18.0". Important: You do need to have the RenderMan Pro server installed for this to work.


How to simply adjust quality.


The next section shows some differences in quality. Make sure to click the images to see the actual differences between them. The blurred reflection on the spheres and the text on the pencil are good places to look.

Reyes is easily controllable with the shading rate setting (left window on the image 1). Large values will produce course quality but will render very fast. A shading rate of 5 will give very quick renders but your texture maps will look blurred. This can be enough to see if everything renders but isn't very great to check the detail in your maps while you are painting them. The letters on the pencil are unreadable. Check out the test image below (Image 3):


Image 3: Reyes: shading rate 5, pixel samples 3x3

When you lower the shading rate, the quality will improve. Production renders are always on a shading rate of 1 or lower (like 0.5). This will increase rendering time. On the next image (Image 4) I lowered the shading rate to 0.1 which makes the small letters on the pencil very readable but the render time was 7 times as high as shading rate 5.

Image 4: Reyes: shading rate 0.1, pixel samples 3x3

The quality controls work a bit different when you are using the ray tracer. In general you can leave the shading rate on 1. It is in fact the pixel samples which control the quality of the image (check right window on Image 1). You can see on the next image (Image 5) that the ray tracer shows the texture maps more clearly but has more problems with noise and anti-aliassing. It is very noticeable in the blurred reflections.

Image 5: Ray trace: shading rate 1, pixel samples 2x2

Increasing the pixel samples will render better quality but will increase render times exponentially. On the next image (Image 6) we can see that 4x4 pixel samples is enough for a still image without depth of field. It is very comparable to the high quality reyes image.Once you start adding movement or shallow depth of field it needs much more samples to get rid of the noisiness.

Image 6: Ray trace: shading rate 1: pixel samples 4x4



Conclusion


As you can see, both the good old reyes and the newer ray tracer produce excellent results. I tend to lean to the ray tracer as I like the incremental path tracer. It is just great so your image improve over time. It is a bit slower than reyes though but delivers very sharp images  when the pixel samples are set correctly.

Saturday, August 30, 2014

PRMan: Installing Pixar's License server on Ubuntu

PRMan price drop


It is a great time in RenderMan land. Pixar will release RMS 19 with the new RIS render technology this fall. That is great news but the real whopper is Pixar's decision to dramatically lower the price of all this sweet candy. That's right, instead of thousands of dollars it has gone down to $495 per license. And the great thing is that there is no differentiation between RenderMan Studio and RenderMan Pro server anymore. A license can drive either product.

This price restructuring brings new opportunities for small VFX studios. But the fun does not end here. Students and hobbyists can now register for a non commercial license for free and there are no limitations in the software or watermarks in the images. There is really no excuse anymore to not try this render engine. The free version will also be available in the fall of 2014.


Pixar licensing


Now that the software is more accessible I like to talk a bit about the licensing system. Paying customers work with floating licenses. Floating licenses have a big advantage. You can install the software on as many machines as you want but it is the license server who dictates how many you can open at any one time.

A quick example: Say you got four people working on their own workstation but you got only two licenses. You can install the software on all four machines but only two people can work with it at any one time. This way nobody has to switch seats when they want to load the RMS for Maya plug-in. Once they finish, the license is released an someone else can work with it. At night, you can also use the free licenses for the render farm.

For this system to work you need to run the license server software. This can be on your workstation or another machine like a fileserver or render farm manager. If you have only one machine on which you use PRMan then it is ok to put the license server software on that specific machine. But when you have more it is better to install it on a dedicated machine that stays on all the time. This doesn't have to be a power house computer. I run mine on a Intel Atom server with 4 GB of RAM running Ubuntu 12.04.4LT which is also my personal web and fileserver.



Installing the license server on Ubuntu


Pixar provides license server software for Windows, Mac OS X and Linux. The linux versions are packaged as rpm. Since Ubuntu does not use rpm packages to install software it seems like Ubuntu is a dead end. But no worries, there is a way to get it all working.

First download the required software from the RenderMan website. I used the RH5 64 bit version which needs at least gcc 4.1. You need to convert this downloaded rpm package to a file type which Ubuntu can read. For this there is a tool called Alien.

To install Alien:
# sudo apt-get install alien
To convert the rpm to deb:
# alien NameOfThePackage.rpm
You should get similar named deb package when the program has finished running. The next step is to install the deb package which can be done with the following command:
# sudo dpkg -i NameOfThePackage.deb
Several files will be installed in /opt/pixar/PixarLicense-versionNumber/

So far, so good. The software is installed but it can't run yet as you need a license file. The documentation states that a program named LicenseApp will be invoked during installation of the license server but this seems only to be working on Windows and Mac OS X and not on Linux. This LicenseApp is used to get a license from Pixar automatically. Since the program does not get installed how is it possible to get a valid license?

You need to go to https://renderman.pixar.com/forum/entitlement.php. Follow the steps on this page and it will generate you a pixar.license file for you. You might need to use pixarhostid which can also be downloaded from the Pixar website. Put the downloaded pixar.license file in the directory above.

The next thing to be done is to start the license server with 
# sudo startPixarLicenseServer.sh
Et voila, your license server is up and running. If you want to make sure if it works, use a web browser to go to http://yourServerName:9010. If it displays your licenses then you're almost good to go.

The last thing you need to do is to put the pixar.license file in the root pixar installation directory of all of your client machines. This way PRMan knows where your server lives.



So where can I buy a license (or a bunch of them)?


If you live in Belgium or the Netherlands then you are in luck. You can contact me and I'll help you get one. You can do this trough Twitter or visit www.refractor.be. Feel free to ask questions too.

If you live elsewhere in the world, simply contact rendermansales@pixar.com

Wednesday, April 23, 2014

My first impression of Maya 2015



Maya 2015 came out last week and for once I was quite excited with the new release. Maya now ships with Bifröst, a water simulation tool derived from Naiad. There are of course other features which also peaked my interest so here is a quick overview on what I like about the new Maya 2015.


The new stuff


Let me start with the simulation and dynamics updates.
  • Bifröst is by far the coolest feature added to Maya 2015. It allows you to make decent fluid simulations like the ones possible in Realflow. Some people on the net don't consider this big news but it saves you an extra license if you are on a tight budget and didn't have the luxury to buy extra software. Check the Autodesk channel on Youtube for nice examples. As I understand, the Bifröst implementation is not fully complete yet so there will be features missing but to me this is a great start.
  • XGen is a tool for grooming and styling hair but can also be utilised as a tool to populate landscapes and environments with plants and foliage.
  • Although the Bullet plug-in for Maya exists for quite a while now, it seems better integrated and usable in Maya 2015.

Some other mixed features which I like.

  • Texture deformers let you displace your geometry like a displacement map but it is applied straight on the geometry and can be seen in the viewport. Displacement maps do their magic at rendertime and so are harder to get right as you have to wait for your renderer to do the calculations. This could potentially be a nice time saver.
  • A lot of UV-tool improvements. Yes, Ptex is also supported in Mental Ray now but UVing is stil a very common and annoying job. Any tool that reduces the pain is welcome by me.
  • Viewport 2.0 is now the default viewport. I must admit that in the previous Maya releases I haven't used it all that much yet but I am quite happy to use this as a default now.
  • Mental Ray Progressive rendering in the IPR is a nice addition which other renderers like V-ray and PRMan already supported ages ago. This can also be a huge time saver.
Of course there are more new features than I mention here but these are the most important for me.

Where is Matchmover and Composite?


Matchmover and Composite came as free packages with Maya in the earlier versions but I was surprised (or maybe not) that these are no longer installed next to Maya 2015. I've tried Composite and never really liked it too much (I am more a Shake/Nuke adept) but I used Matchmover quite successfully in the past so I was miffed that it wasn't there anymore.

No panic though!
You can still find them on the Autodesk exchange Apps website. I could download them freely as a subscription member. They didn't get an update and it is basically the same version which came with Maya 2014. I suppose these will get to the end of their life sooner or later but you can still enjoy them for now.

Time for me to go and play a bit with Maya now.