How do I... ?
How do I render quickly?
When using RenderMan® renderers it is important that you keep a few rules of thumb in mind. This might be difficult for the seasoned Cinema 4D user but polygons are the worst kind of input data for pretty much every RenderMan® renderer – compatible renderer and for PRMan in particular. Generally speaking, RenderMan® renderers are very good at accepting higher level primitives (such as Subdivision Surface) and dicing them with exactly the right detail. RenderMan® renderers also make sure that diced geometry is not constantly stored in memory. This is why not providing polygonal geometry is generally a better idea because it results in better-quality meshes while simultaneously reducing memory usage.
Trying to achieve this is not a trivial matter when using a polygon-based software like Cinema 4D. However, CineMan provides a few mechanisms to help. The most important example is how CineMan handles Subdivision Surfaces: CineMan tries to pass them to the Renderer directly as Subdivision Surfaces, which reduces export time and offers all the advantages mentioned above. An additional advantage is that Interpolated Normals do not need to be generated and stored with the mesh. The Normals can be derived directly from the Limit Surface. There are a few instances where this will not work and CineMan will return your Subdivision Surface geometry as polygons. Trying to avoid these instances will help you achieve better results faster with any RenderMan® renderer – compatible renderer:
If you want to force CineMan to write Subdivision Surfaces as polygons, the export settings let you decide what CineMan should do with Subdivision Surfaces.
How do I set up Global Illumination?
Global Illumination is brought into a RenderMan® renderer scene description in the form of a light source Shader. This offers great flexibility because the shading language provides access to Global Illumination functions implemented by the renderer. One can come up with special Global Illumination light sources that do all kinds of things. Usually there is one or more standard Global Illumination light source that comes with each renderer but they all differ slightly, so it would not make sense to try to provide a monolithic interface to access those. Instead you can load a Global Illumination light source Shader into a RenderMan® renderer shader material and apply it to a light. The light will then be replaced by the light source Shader. All shader parameters will be available in the materials attribute editor panel (this works for every RenderMan® renderer light source Shader, not just Global Illumination).
Not all Global Illumination parameters are in the light source Shaders. A few are options, others are attributes (and thus can be set on a per object basis).
The Options are included in the RenderMan® renderer video post Global Illumination settings.
The attributes are part of the RenderMan® renderer Attributes tag. If you wish to set attributes for the entire scene, attach the tag to the camera object. You can still override the attributes on a per object basis. For every other object the attributes attached to the camera will be used.
Doing things this way rips Global Illumination settings apart a little but it is the most transparent way of reflecting what happens inside RenderMan® renderer.
How do I create Shaders for external use?
Sometimes it makes sense to export Shaders for later use or modification. Usually you will want that shader to have certain input parameters. Normally, every parameter that is set in the Cinema 4D GUI is hard-coded into the shader and it is not always easy to find out where exactly it went. Also, the value may be used more than once in the shader code. Material parameters will be converted to actual shader parameters if they are animated. So, in order to force certain material parameters to show up as shader parameters, simply create an empty animation track for that Parameter.
Why are my material previews not being calculated?
Only one instance of CineMan can run at a time. Hence, when your render externally you can not render in the Viewport or anywhere else in Cinema 4D simultaneously.